爲什麼當一個不同長度的數字串被傳遞給Date時,JavaScript有時會返回一個Date對象,有時會返回Invalid Date。將一串數字傳遞給Date對象時javascript中的理解日期
例如:
新的日期( '123456') - >週二1月1 123456 00:00:00 GMT + 0530
新的日期( '1234567') - >無效日期
新的日期( '999999') - >無效的日期
爲什麼當一個不同長度的數字串被傳遞給Date時,JavaScript有時會返回一個Date對象,有時會返回Invalid Date。將一串數字傳遞給Date對象時javascript中的理解日期
例如:
新的日期( '123456') - >週二1月1 123456 00:00:00 GMT + 0530
新的日期( '1234567') - >無效日期
新的日期( '999999') - >無效的日期
您使用的是最新C中的方法這個字符串被解釋爲年份。然而,正如Xotic750已經指出的那樣,JavaScript的日期相對於1970年1月1日UTC只能在-100,000,000天至100,000,000天的範圍內。這意味着'123456'在範圍內,但'1234567'和'999999'不在。
請注意,由於瀏覽器之間的不一致,強烈建議使用帶有字符串的Date構造函數。最好自己解析日期,並使用構造函數需要幾年,幾個月等。
只記得月 - 編號gotcha! –
''123456''是[Date](https://developer.mozilla.org/en)的有效範圍內的一年/ docs/Web/JavaScript/Reference/Global_Objects/Date),其他則不是。 'JavaScript日期對象範圍相對於1970年1月1日爲-100,000,000天至100,000,000天.' – Xotic750
[Minimum and maximum date]的可能重複(http://stackoverflow.com/questions/11526504/minimum-and-maximum - 日期) – Vasan
和[與日期奇怪的錯誤,「未捕獲的非法訪問」](http://stackoverflow.com/questions/27598612/weird-error-with-date-uncaught-illegal-access) –