【发布时间】:2016-09-08 21:35:10
【问题描述】:
我需要计算一个日期并写下一个。
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 :)
【问题讨论】:
-
您发布的代码是您正在运行的实际代码吗?我问是因为您在定义之前调用 service.today() 。如果您在此处发布一个可运行的 sn-p 来显示该问题,那就太好了。如果您更改了系统的时区偏移量,您应该会看到不同的时区名称。
标签: javascript google-chrome date constructor