gpt4 book ai didi

javascript - 使用javascript将iso8601日期时间字符串映射到儒略日

转载 作者:行者123 更新时间:2023-11-30 17:43:03 26 4
gpt4 key购买 nike

有没有人有来自以下形式的 ISO-8601 日期时间字符串的紧凑/优雅的 map :

2013-12-28T20:30:00-0700

到儒略日。我希望找到一种解决方案,避免使用外部库并且具有最少的正则表达式和字符串操作。

最佳答案

这是一种方法。

您可以将带有时区偏移量的 ISO 字符串转换为现代 JavaScript (ES5) 中的 JavaScript Date 对象。这适用于 Node.js、Chrome 和 Firefox。 Safari 或 IE 尚不支持它。如果您需要它在所有浏览器中工作,您必须自己解析日期或使用像 Moment.js 这样的库。

我针对一系列日期针对 US Naval Observatory Julian Date Converter 测试了该算法。

对于公历转换之前的日期(1582 年 10 月 15 日),这假定了公历,并且与美国海军天文台显示的有所不同。

function julianDayNumber(d) {
var epoch = 2440587.500000; // Jan. 1, 1970 00:00:00 UTC
return d.getTime() / 86400000 + epoch;
}

示例用法:

console.log(julianDayNumber(new Date('2013-12-28T20:30:00-0700')));
// prints: 2456655.6458333335

关于javascript - 使用javascript将iso8601日期时间字符串映射到儒略日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20666749/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com