簡體   English   中英

Chrome Javascript 日期構造函數錯誤?

[英]Chrome Javascript Date Constructor bugs?

我需要計算一個日期並寫下一個。

new Date(service.today().getTime() + (service.plazo * service.DAY_MILLISECONDS))

service.today = function() {
  var now = new Date();
  now.setHours(0,0,0,0);
  return now;
};

service.DAY_MILLISECONDS = 60*60*24*1000;

service.plazo 是一個數字 (1,2,3,4....)

結果

2016 年 5 月 18 日星期三 23:00:00 GMT-0300(Hora est. Sudamérica Pacífico)

我在筆記本電腦中更改了時區:-3 到 -4

2016 年 5 月 18 日星期三 23:00:00 GMT-0400(Hora est. Sudamérica Pacífico)

一切都完美但是

new Date()

2016 年 5 月 12 日星期四 16:19:51 GMT-0300(Hora verano Sudamérica Pacífico)

new Date(service.today().getTime() + (service.plazo * service.DAY_MILLISECONDS))

2016 年 5 月 18 日星期三 23:00:00 GMT-0400(Hora est. Sudamérica Pacífico)

new Date(service.today().getTime())

2016 年 5 月 12 日星期四 00:00:00 GMT-0300(Hora verano Sudamérica Pacífico)

new Date(service.plazo * service.DAY_MILLISECONDS)

1970 年 1 月 7 日星期三 21:00:00 GMT-0300(Hora verano Sudamérica Pacífico)

為什么

  • 新日期()”
  • 新日期(service.today().getTime())
  • 新日期(service.plazo * service.DAY_MILLISECONDS)

是 GMT-0300 和

  • 新日期(service.today().getTime() + (service.plazo * service.DAY_MILLISECONDS))

是 GMT-0400

有錯誤的 Chrome 版本:50.0.2661.94 m

Chrome 版本 46.0.2490.86(64 位)都是 GMT-0400 :)

由於時間變化(標准時間到夏令時), timeZoneOffset將根據您獲得的日期所屬的時間段而有所不同。

我猜您所在國家/地區的夏令時將於 5 月 14 日結束。 這意味着 5 月 14 日之前的日期將是 GMT -0300,但使用Hora verano Sudamérica Pacífico ,之后您將擁有-0400但使用Hora est. Sudamérica Pacífico

這樣,您將獲得您所在國家/地區在您獲得的特定日期的當前時間。 時間更改日期和通常時區信息取決於操作系統,Chrome 依賴您的系統設置來確定它們。

暫無
暫無

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

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