【发布时间】:2012-05-23 15:54:12
【问题描述】:
Javascript 中的Date 对象是否曾经使用过非公历?
MDN 和 MSDN 文档概述了 Date 对象上的方法并引用 UTC 和 IETF-compliant RFC 2822 timestamps。
维基百科文章提到
通常使用公历来标识日期,但也可以使用儒略日数字。
MDN 和 MSDN 文档只是说非 UTC 方法是指“本地时间”,但没有定义“本地时间”是什么。
我正在与 Web 服务进行接口,该服务会返回一些数据,其中包括一年中的某天字段,我需要将其与当前的一年中的某天进行比较。我很清楚依赖用户机器上的准确时间的缺陷,并且对错误的时区和虚假日期设置导致的任何问题都很好。
不过,我担心语言环境中的用户不使用公历,以及如果我使用 .getDate()、.getMonth() 和 .getFullYear() 方法计算天数,他们的浏览器会返回什么-年度。
那么,在实践中,Javascript 中的“本地时间”是否曾经指代非公历系统,例如希伯来历或波斯历?
【问题讨论】:
-
我很确定“本地时间”是指与 UTC 的时区偏移量。但是问题仍然很有趣:例如,
getMonth()是否可以返回大于 11 的值。我强烈怀疑答案是否定的,但我没有证据。 -
@Pointy,ECMA-262 规范确实说本地时间 == UTC + 时区调整 + 白天时间调整。然而,我们都知道规范所说的和浏览器所做的并不总是一回事。
-
儒略日不是一个单独的日历系统——儒略日只是自公元前 4713 年 1 月 1 日中午以来的小数天数。有点像 UNIX 时间,除了几天,还有一个更久以前的时代。 en.wikipedia.org/wiki/Julian_day
-
@duskwuff 是的,但是计算机人永远喜欢(相信我,我已经很老了)一直在误用术语——“朱利安日期”通常意味着“一年中的一天”跨度>
-
我编辑了这个问题。当我写它的时候,我确实把“儒略日”和“儒略历”混在了我的脑海里。我正在考虑使用希伯来语、波斯语等日历的人。
标签: javascript date calendar