簡體   English   中英

nodejs(new Date())。toJSON()返回錯誤的時間

[英]nodejs (new Date()).toJSON() returns a wrong time

我正在使用以下代碼來獲取nodejs中的當前日期和時間。

var date = (new Date()).toJSON();

轉換為JSON后,返回錯誤的時間和錯誤的時區,如下所示:

2018-01-03T11:16:38.773Z

但沒有toJSON(),它將以正確的時區返回實時時間

Wed Jan 03 2018 14:47:12 GMT+0330 (Iran Standard Time)

格式不同是因為:

toJSON方法是Date JavaScript對象的內置成員。 它為UTC時區返回一個ISO格式的日期字符串(用后綴Z表示)。

你可以做什么:

您可以覆蓋Date類型的toJSON方法,或者為其他對象類型定義toJSON方法,以在JSON序列化之前實現特定對象類型的數據轉換。

資源

如果您想要相同的結果,則可以只使用toString而不是toJSON:

var date = new Date().toString();
2018-01-03T11:17:12.000Z === Wed Jan 03 2018 14:47:12 GMT+0330 (Iran Standard Time)

左邊的一個是ISO時區,右邊的一個基本上是瀏覽器時區。

(new Date()).toJSON()轉換為ISO時區

因此,轉換為字符串的簡單方法是

var date = (new Date()).toString(); 

暫無
暫無

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

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