2015-09-03 61 views
0

如果我使用new Date('2015-01-01'),那會給我一個相當於2015-01-01T00:00:00Z的時間點嗎?JavaScript日期構造函數和UTC

+0

您可以嘗試'+ new Date('2015-01-01')== + new Date('2015- 01-01T00:00:00Z')' – Hacketo

+0

非常感謝。 – Ben

+0

from docs see [first sentence](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse#ECMAScript_5_ISO-8601_format_support) – Hacketo

回答

2

documentation

構造函數:...表示日期dateString字符串值。 字符串應採用Date.parse()方法 (符合IETF的RFC 2822時間戳以及ISO8601的一個版本)所識別的格式。

documentation on Date.parse()

如果未指定時區和字符串是由ES5認可的ISO格式 ,UTC假設

但是,根據此行爲可能是有風險的,因爲,來自同一文件:

請注意,ECMAScript ed 6 draft指定沒有時區的日期時間字符串將被視爲本地,而不是UTC

+0

也可以加上「注意ECMAScript ed 6草案指定日期時間字符串沒有時區被視爲本地,而不是UTC「 – Hacketo

+0

這很有用,但它不回答我的問題重新日期構造函數。 – Ben

+0

@BenAston其實,這正是它的答案。第一個簡化的說法是,「如果使用String構造,則使用Date.parse」,第二個說「如果Date.parse沒有使用時區 - UTC被假定」。因此,如果將兩個引號組合在一起,則會得到「如果從字符串構造而沒有指定時區 - 則採用UTC」。 – bezmax