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的网站上找到转型的例子