是否Date对象曾经使用非公历?(Does the Date object ever use a n

2019-09-17 11:02发布

是否Date在Javascript对象曾经使用非公历?

该MDN和MSDN文档勾勒出的方法Date对象和参考UTC和IETF-RFC兼容2822时间戳 。

维基百科的文章中提到

天正在使用的公历常规鉴定,但也可以使用儒略日的数字。

该MDN和MSDN文档只是说,非UTC方法请参见“本地时间”,但没有定义什么是“本地时间”。

我的工作接口到是给我回一些数据,包括一天的一年领域,我需要比较当前日期的年中web服务。 我清楚地知道关于依靠从用户的机器上的准确时间的陷阱,和我很好用,从坏的时区和虚假的日期设置造成的任何问题。

我所关注的,不过,有关区域设置的用户不使用公历,以及他们的浏览器会给回来,如果我使用.getDate() .getMonth().getFullYear()方法来计算day-年。

因此,在实践中,确实“当地时间”在Javascript中曾经指非公历系统,比如希伯来文或波斯日历?

Answer 1:

我只是设置我的计算机(Mac OS X 10.7.4)使用希伯来日历测试,Date对象的行为在Safari,火狐或Chrome并没有受到影响。 看起来它总是使用公历。



Answer 2:

回复:请问在Javascript Date对象曾经使用非公历?

不,我不看的要求表明,JavaScript Date对象可以使用的儒略历系统的任何备份。

但是,你可以一个Javascript日期对象(公历日期)转换成无论是儒略日或朱利安日期 。

儒略日

儒略日是由天文界科学利用时间测量的儒略日(JD)系统中使用,呈现自1月1日,4713 BC中午格林尼治时间以天为单位,每天的分数区间。 Julian日期建议由国际天文学联合会天文使用。

朱利安日期

术语公历日期被广泛用于指天的年(顺序日期),虽然这种用法是不严格符合由一些国际组织制定的标准。

*数据来源为上述报价是维基百科文章, JULIAN_DAY

需要注意的是这两种格式都不涉及个月以来“Julian日期”和“儒略日”是一天的公历一个特定表示的术语。 “4713 BC格林威治中午”:您可以通过Julian日期定义使用公历日期的事实告诉这个



Answer 3:

从ECMAScript的规范( 第3版和第5版在这方面几乎相同,但我引述5日):

15.9.1.9当地时间

从UTC本地时间转换被定义

LocalTime(t) = t + LocalTZA + DaylightSavingTA(t)

从本地时间到UTC转换是通过定义

UTC(t) = t – LocalTZA – DaylightSavingTA(t – LocalTZA)

需要注意的是UTC(LocalTime(t))不一定总是等于t

LocalTZA指本地时区调整, DaylightSavingTA是夏令调整。

我还没有发现当非公历是在用户的计算机上启用了,做什么不同的浏览器(当前或历史)的任何证据。



文章来源: Does the Date object ever use a non-Gregorian calendar?