用基思木日历将波斯日期转换为朱利安或格里高利

时间:2014-07-28 07:01:21

标签: javascript date

我使用Keith Wood calendar library创建了一个带有波斯语瞬间的日期对象:

var d = $.calendars.newDate(1393, 5, 6, 'persian', 'fa'); 

现在我需要从这个日期获得Julian或Gregorian日期,但是当我使用.toJD()函数时,它会返回不等于当前日期的Julian日期

 var e = d.toJD();
 console.log(e) 

所以我该如何解决这个问题呢?我为此问题创建了jsbin

1 个答案:

答案 0 :(得分:7)

我认为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)

更新:对于您的评论我看到问题没有解决,因为它将波斯日期转换为您的区域设置日期。据我所知,在库的参考资料中,没有办法告诉该函数应该使用哪个语言环境。因此,author's provided demo shows正确的方法是创建另一个目标日历并将当前日历作为参数传递:

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