You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ECMAScript中的 time value 是 Number 类型,可以是表示时间到毫秒精度的有限整数,也可以是不表示特定时间的 NaN。时间值是 24×60×60×1000 = 86,400,000 的倍数(即,对于某个整数 d 等于 86,400,000×d)表示自UTC日开始历时 d 天。(在负 d 的时间之前)。每一个其他的有限时间值 t 都是相对于最大的前一时间值 s 定义的,前一时间值 s 是这样的倍数,表示在 s 的同一个UTC天内发生的、但随后又是 t-s 毫秒的瞬间。
Date 对象一
Time值和Time范围
ECMAScript中的时间测量类似于 POSIX 中的时间测量,尤其是根据通用的公历定义,即UTC 1970年1月1日开始的一个午夜纪元,并且每天的准确计算为86,400秒(每秒为1000毫秒)。
ECMAScript中的 time value 是
Number
类型,可以是表示时间到毫秒精度的有限整数,也可以是不表示特定时间的NaN
。时间值是 24×60×60×1000 = 86,400,000 的倍数(即,对于某个整数 d 等于 86,400,000×d)表示自UTC日开始历时 d 天。(在负 d 的时间之前)。每一个其他的有限时间值 t 都是相对于最大的前一时间值 s 定义的,前一时间值 s 是这样的倍数,表示在 s 的同一个UTC天内发生的、但随后又是 t-s 毫秒的瞬间。时间值不考虑UTC闰秒——没有代表正闰秒内的时间值,有时间值表示以负闰秒为单位从UTC时间线上删除的瞬间。但是,时间值的定义仍然与UTC分段对齐,仅在闰秒边界处具有不连续性,闰秒以外的零差。
一个数字可以精确表示从 -9,007,199,254,740,992到 9,007,199,254,740,992(重学js —— Number 对象)的所有整数。时间值支持 -8,640,000,000,000,000 到 8,640,000,000,000,000 毫秒的较小范围。这就产生了相对于 UTC 1970年1月1日 午夜开始的 -100,000,000天 到 100,000,000天 的支持时间值范围。
格林尼治标准时间1970年1月1日开始的确切午夜时刻由时间值 +0 表示。
天数和一天中的时间
时间值 t 对应的天数:
Day(t) = floor(t / msPerDay)
每天的毫秒数:
msPerDay = 86400000
其余时间称为一天中的时间:
TimeWithinDay(t) = t modulo msPerDay
年数
ECMAScript使用冗长的公历将日期编号映射为年份编号,并确定该年份中的月份和日期。该历中,闰年恰好是(可被4整除)和((不可被100整除)或(可被400整除))的年份。因此,第y年的天数定义为:
所有的非闰年有 365 天,闰年2月有29天。y年第一天的天数为:
年初的时间值为:
时间值通过以下方式确定年份:
闰年中闰年函数为1否则为0:
Month Number
月份是 0 ~ 11 范围内的整数。MonthFromTime(t)将时间值 t 映射到月数的方式定义为:
Date Number
1 ~ 31 的整数。DateFromTime(t) 将时间值 t 映射为日期数:
Week Day
Hours, Minutes, Second, and Milliseconds
MakeTime ( hour, min, sec, ms )
NaN
*
和+
一样)。MakeDay ( year, month, date )
NaN
NaN
MakeDate ( day, time )
NaN
TimeClip ( time )
NaN
NaN
日期时间字符串格式
ECMAScript基于ISO 8601日历日期扩展格式的简化,为日期时间定义了字符串交换格式。格式如下:YYYY-MM-DDTHH:mm:ss.sssZ
YYYY
是公历阳历中的年份,从0000到9999之间为四个十进制数字,或作为 扩展年份 “ +”或“-”,后跟六个十进制数字。-
(连字符)在字符串中字面出现两次MM
是一年中的月份,从01(一月)到12(十二月)的两位十进制数字。DD
是月份的日期,是从01到31的两位十进制数字。T
出现在字符串中,用于指示时间元素的开始。HH
是从午夜以来经过的完整小时数,从00到24为两位十进制数字。:
(冒号)在字符串中字面出现两次mm
是从小时开始到现在的完整分钟数,从00到59的两位十进制数字。ss
是从分钟开始算起的完整秒数,从00到59的两位十进制数字。.
(点)在字符串中字面上出现sss
是从秒开始的完整毫秒数,为三个十进制数字。Z
是指定为“ Z”的UTC偏移量表示形式(对于没有偏移量的UTC)或“ +”或“-”的偏移量,后跟时间表达式HH:mm(分别指示UTC之前或之后的本地时间)此格式包括仅日期形式:
它还包括“日期时间”格式,该格式由上述日期格式之一组成,紧随其后的是以下时间格式之一,并附加了可选的UTC偏移量表示形式:
The text was updated successfully, but these errors were encountered: