我使用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。
答案 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');