在Javascript中将Julian日期转换为常规日期

AJR*_*AJR 0 javascript julian-date

我想将Julian整数转换回日期.

例:

整数2456931 = 2014/09/30 //格式YYYY/MM/DD

请帮忙 - 提前致谢,

Ger*_*ton 6

下面是一个示例HTML文件,它说明了使用Date Java内置对象.

<!DOCTYPE html>
<html>
<body>
<h1>Julian date conversion example</h1>
<script>
var jd = 2456931;
var millis = (jd - 2440587.5) * 86400000;
var dateLocal = new Date(millis);
document.writeln(dateLocal);
document.writeln("<br>");
document.write(dateLocal.getUTCFullYear(), "-");
document.write(dateLocal.getUTCMonth()+1, "-");
document.write(dateLocal.getUTCDate(), "T12:00:00Z");
</script>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这个想法是减去1970年1月1日UTC开始的午夜朱利安日期,这是JavaScript Date对象使用的毫秒计数的开始.然后,自1970年1月1日以来的天数乘以86,400,000,即一天中的毫秒数.

毫秒值用于创建新的Date对象.

结果显示在计算机上,时区设置为美国东部,夏令时有效:

Tue Sep 30 2014 08:00:00 GMT-0400(东部标准时间)

2014-9-30T12:00:00Z

请注意,我以类似于ISO 8601的格式编写了UTC日期和时间,但是当值<10时,我没有打算填写日期或月份.

如果您不知道,Julian日期始终从UTC中午开始.