Javascript new Date将日期减少一天
Javascript new Date decreases date by a day
我有一个使用AngularJS读取日期的场景。有趣的是,它使我的日期值减少了一。
为什么会发生这种情况?
new Date("2016-01-06T00:00:00")
give me result as
Tue Jan 05 2016 16:00:00 GMT-0800 (Pacific Standard Time)
这是因为当您在JavaScript中使用new Date()
时,它会转换并打印浏览器时区中的日期。
所以如果你打印:
new Date("2016-01-06T00:00:00-0800")
由于时区(由浏览器确定)和UTC时间之间的-0800
差异,您将获得所需的实际输出。
UTC时区用于解释不包含时区信息的ISO 8601格式的参数(请注意,ECMAScript 2015指定,没有时区的日期-时间字符串将被视为本地字符串,而不是UTC字符串)。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse
由于您的日期字符串似乎缺少一个,JS假定它是UTC时间。你看到的结果是同一时刻,偏移到你的时区。您所需要做的就是向正在解析的字符串提供时区数据。
这是因为日期考虑了浏览器的时区,在您的情况下是PST。它对我也有同样的作用,在EST:
test = new Date("2016-01-06T00:00:00")
2016年1月5日星期二19:00:00 GMT-0500(美国东部时间)
您仍然可以通过使用任何.getUTC*
函数来获得UTC时间,例如:
test.getUTCDate();
6
相关文章:
- AngularJS引导日期选择器 - 每周的一天问题
- 如何使用jquery获取下一天的日期和下个月的日期
- javascript创建减去一天的新日期
- 当日期在不同月份时,如何获取本周的第一天和最后一天
- Jquery日期选择器从选定的epoch时间减少一天
- SQL Server日期(不是日期时间)到JavaScript日期-休息一天
- 如何使引导日期选择器选择当分钟视图模式:1时选择当月的最后一天而不是第一天
- 将一天添加到日期选择器值
- Dojo 日期限制为每月一天
- 从日期对象减去一天的 JSON 函数
- javascript 日期或下一个日期基于一天中的时间和 if/else
- jQuery 日期选择器,退房日期是入住日期后的一天
- JQuery UI 日期选择器更改一天的样式
- Javascript new Date将日期减少一天
- 如何在给定日期和时间的情况下使一天倒退24小时
- 日期选择器从和到至少一天
- 将一年中的某一天转换为当前日期
- Google Feed API'发布日期'错误的一天
- 如何从JavaScript中的日期编号中获取一周中的哪一天
- Javascript日期选择器排除了周末,一个日期数组&每周特定的一天