簡體   English   中英

JavaScript Date()返回錯誤的時間

[英]JavaScript Date() returns the wrong time

我的簡單測試:

 var ds = "2018/2/28 15:59"; console.log(ds); var da = Date(ds); console.log(da); ds = "2018-2-28 15:59"; console.log(ds); var da = Date(ds); console.log(da); 

結果是

2018/2/28 15:59  
Thu Feb 01 2018 17:26:57 GMT+0800 (+08)  
2018-2-28 15:59  
Thu Feb 01 2018 17:26:57 GMT+0800 (+08)  

即使時間“2018/2/28 15:59”處於不同的時區,但由於分鍾和秒數不同,因此仍然非常令人費解:59:00與26:57。 時區差異是30分鍾的倍數。

你忘了在Date()之前添加new

這意味着您只是調用一個名為Date()的函數(默認情況下)返回當前日期和時間。

 var ds = "2018/2/28 15:59"; console.log(ds); var da = new Date(ds); console.log(da); ds = "2018-2-28 15:59"; console.log(ds); var da = new Date(ds); console.log(da); 


除了AuxTacos之外,還有正確的init方法。 你的約會對象

var da = new Date(2018, (2-1), 28, 15, 59); // x-1 because 0=Jan,1=Feb...
console.log(date);

除了zeropublix的答案 (你忘了new ),你的日期字符串是無效的。 編碼“2018年2月28日開始的午夜過去15小時59分鍾”的正確方法是"2018-02-28T15:59Z" 您的系統(和我的)可能會將"2018/2/28 15:59"識別為有效的日期字符串,但這取決於實現並且容易出現故障。 規范中唯一認可的格式是ISO 8601的簡化

我試試這個。

var ds = "2018/2/28 15:59"; 
var da = new Date(ds);

它給了我日期2018-02-28T15:59:00.000Z。 我得到了正確的時間和日期。

var da = Date(ds); 此處即使傳遞參數,Date也會給出當前時間。

嘗試這個。

var ds = "2018/2/28 15:59"; var da = new Date(ds);

給出2018-02-28T10:29:00.000Z

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM