[英]new Date() behaves differently in different environment, why?
當我在Chrome中定義相同的日期時,它會顯示預期的結果。 但是當我在node.js中運行它時,代碼如下:
var date = new Date(2015, 1, 1); console.log(date); // it displays: 2015-01-31T16:00:00.000Z
我的問題是為什么不2015-02-01 ?
這是時區問題。 在Chrome瀏覽器中,打印日期和時間會根據您當地的時區信息進行調整。 但是在您打印的Node.js中的日期,它的字符串格式是ISO字符串,沒有調整時區值。
因此,兩個new Date(2015, 1, 1)
2015,1,1 new Date(2015, 1, 1)
在Chrome和Node.js中具有相同的值。
嘗試console.log(date.toLocaleDateString())
。 您會得到2015-2-1。
您只是在打印日期對象
var date = new Date(2015, 1, 1)
console.log(date);
有關更深入的說明,請檢查:
https://www.w3schools.com/js/js_date_formats.asp
另外,如果您的目標是使用2015-02-01
這種格式,請查看https://momentjs.com/ 。 對於您的情況:
(使用moment.js)
moment(new Date(2015, 1, 1)).format('YYYY-MM-DD') // "2015-02-01"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.