Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用keith wood日历将波斯日期转换为朱利安或格里高利历_Javascript_Date - Fatal编程技术网

Javascript 使用keith wood日历将波斯日期转换为朱利安或格里高利历

Javascript 使用keith wood日历将波斯日期转换为朱利安或格里高利历,javascript,date,Javascript,Date,我使用以下命令创建了一个日期对象: var d = $.calendars.newDate(1393, 5, 6, 'persian', 'fa'); 现在我需要从这个日期获取朱利安日期或公历日期,但当我使用.toJD()函数时,它返回的朱利安日期不等于当前日期 var e = d.toJD(); console.log(e) 那么我该如何解决这个问题呢?我已经为这个问题创建了一个解决方案 我认为toJD()不是您需要的: var d = $.calendars.newDate(13

我使用以下命令创建了一个日期对象:

var d = $.calendars.newDate(1393, 5, 6, 'persian', 'fa'); 
现在我需要从这个日期获取朱利安日期或公历日期,但当我使用
.toJD()
函数时,它返回的朱利安日期不等于当前日期

 var e = d.toJD();
 console.log(e) 
那么我该如何解决这个问题呢?我已经为这个问题创建了一个解决方案

我认为
toJD()
不是您需要的:

var d = $.calendars.newDate(1388, 1, 1, 'persian', 'fa');
console.log("Persian date: "+d.toLocaleString()); // Persian date: 1388-01-01
var e = d.toJSDate();
console.log(e); // Sat Mar 21 2009 00:00:00 GMT+0100 (Romance Standard Time)
更新:对于您的评论,我看到这个问题没有解决,因为它将波斯日期转换为您的区域设置日期。就我在库的参考中所见,没有办法告诉该函数应该使用哪个语言环境。因此,正确的方法是创建另一个目标日历,并将当前日历作为参数传递:

var d = $.calendars.newDate(1388, 1, 1, 'persian', 'fa');
var e = $.calendars.newDate(d, 'gregorian', 'fa');

你试过d.toJSDate()吗?@Pablo it试过你的方法,它返回了
5月25日星期五1393 00:00:00 GMT+0430(伊朗昼间)
但这一年仍然是1393年,但我需要它2014年。我更新了我的答案,你可以在Keith Wood的网站上找到转型的例子