簡體   English   中英

日期字符串,將忽略時區偏移量

[英]date string that will ignore timezone offset

我在(UTS-05:00)東部時間(美國和加拿大)

new Date().getTimezoneOffset() == 300秒。

現在,我有一個API端點(JSON),它返回像這樣的日期字符串。

{
    someDate: '2016-01-01T00:40:00.000+00:00'
}

在這里,我像這樣將其傳遞給Date構造函數

 var dateString = "2016-01-01T00:40:00.000+00:00"; var someDay = new Date(dateString); console.log(someDay) 

Mozilla Firefox控制台顯示

日期{2016年1月1日星期五,格林尼治標准時間-0500(東部夏令時)}

Google Chrome控制台顯示

2015年12月31日星期四19:40:00 GMT-0500(東部標准時間)

Chrome瀏覽器考慮了TimezoneOffset,而Firefox沒有考慮。 我該怎么做才能獲得不像Chrome中的FireFox那樣考慮偏移的日期?

您可以通過以下方式實現:

 var dates = '2016-01-01T00:40:00.000+00:00'.split(/-|T|:/);
 var newDate = new Date(dates[0], dates[1]-1, dates[2], dates[3], dates[4]);

這種技巧可以工作(不是很干凈,但是可以完成工作)

var dateString = '2016-07-27T01:40:30';
var dateParts = dateString.split(/-|T|:/);
var saneDate = new Date(
    +dateParts[0], 
    dateParts[1] - 1, 
    +dateParts[2], 
    +dateParts[3], 
    +dateParts[4], 
    +dateParts[5]);
console.log(saneDate);

暫無
暫無

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

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