我試圖毫秒轉換爲使用使用JavaScript日期:新的日期(毫秒)返回無效的日期
new Date(Milliseconds);
構造,但是當我給它的毫秒數說1372439683000它返回無效的日期。如果我去site that converts milliseconds to date它返回正確的日期。
任何想法爲什麼?
我試圖毫秒轉換爲使用使用JavaScript日期:新的日期(毫秒)返回無效的日期
new Date(Milliseconds);
構造,但是當我給它的毫秒數說1372439683000它返回無效的日期。如果我去site that converts milliseconds to date它返回正確的日期。
任何想法爲什麼?
您並未使用數字,而是使用字符串,它看起來像一個數字。根據MDN,當你傳遞一個字符串到Date
,預計
通過解析法(IETF-RFC兼容2822時間戳)識別的格式。
這樣的字符串的一個例子是「December 17, 1995 03:24:00
」,但你傳遞,看起來像「1372439683000
」,這是不能被解析的字符串。
轉換Milliseconds
使用parseInt
,或一元+
人數:
new Date(+Milliseconds);
new Date(parseInt(Milliseconds,10));
'在開發者工具中新的日期(929397621000)'返回一個有效格式化的日期字符串'Mon Jun 14 1999 15:00:21 GMT-0700(PDT) '但是當我嘗試檢查對象時,它顯示「無效的日期」。在實際使用的代碼中,它也會創建一個無效的日期。 – Michael
@Michael這似乎與此處所述的問題不同。你在做'console.dir(new Date(929397621000))'?如果是這樣,在該實例內部查看'__proto__:Invalid Date'是正確的(或者至少不令人驚訝)的行爲。 'Date * *原型* *'是*無效日期;有效的日期信息存在於'Date * *實例*中,而不是原型上。 – apsillers
我在Chrome的開發人員工具中直接將表達式視爲手錶。我的代碼基本上是做同樣的事情。因爲我打電話給'new'應該產生一個有效的Date對象,是嗎?奇怪的是,即使'新的日期()'產生一個無效的日期(調試器可以奇怪地正確串),我不能檢查的元素(因爲它只顯示「無效的日期」),所以也許這是一個駕駛艙問題。 – Michael
的Date
功能是區分大小寫的:
new Date(Milliseconds);
,而不是這個
new date(Milliseconds);
使用本
new Date(Milliseconds);
沒有定義
你的發言會給你日期錯誤
我得到這個錯誤是由於不同的原因。
我從redis中讀取了一個key,它的值是一個json。
client.get(someid, function(error, somevalue){});
現在我正在試圖進入字段內somevalue
(它是一個字符串),如somevalue.start_time
,而不用解析到JSON對象。 這是返回「未定義」,如果傳遞給日期構造函數new Date(somevalue.start_time)
返回「無效日期」。
因此,首先使用JSON.parse(somevalue)
獲取JSON對象,然後訪問json中的字段解決了問題。
'alert(new Date(1372439683000));'適合我。 「無效日期」究竟意味着什麼,你會得到什麼結果? –
@Pekka OP OP得到一個日期對象,該對象被串化爲「'Invalid Date'」。 (例如,嘗試'alert(new Date(「))') – apsillers