经过计算,日期似乎正在将时区从夏令时更改为标准时区
Date appears to be changing time zone from daylight to standard upon calculation
我有一个jQuery范围滑块,它应该根据每个值将日期范围增加和减少一周。当递增超过某个点(在我的例子中是11月1日)时,时区从白天变为标准时间。我想这与我计算新日期的方式有关,但我似乎不知道是什么。
我用计算
new Date(minDate.getTime() + (sliderValue * 7) * 1000 * 60 * 60 * 24)
下面是一个小提琴的例子:https://jsfiddle.net/aedryan/f4pvg84e/
您的代码实际上运行良好。它在11月1日之后发生变化的原因是,我们在该日期从东部夏令时(EDT)切换到东部标准时间——在这两种情况下,您都代表东部时区。顺便说一句,对于未来来说,这是一种在日期上增加天数的好方法:
/**
* extends the functionality of the Date() object to include a function called addDays that adds days to
* a javascript date based on an integer
* @param days
* @returns {Date}
*/
Date.prototype.addDays = function(days){
var dat = new Date(this.valueOf());
dat.setDate(dat.getDate() + days);
return dat;
};
您正在以毫秒为单位计算天数。然而,11月1日实际上是一个轻松的节约(欢迎来到时间文化的奇妙世界)。因此,你的时间减少了1个小时,这意味着你一天计算23个小时,只得到+6。
与以毫秒为单位进行这些更改相反,只需添加天数即可。这可以在JavaScript中轻松完成,因为当天数超过当月可用金额时,它只返回调整后的日期。这意味着你可以将其用于你的新日期论坛
var newDate = new Date(2015, 7, 23+(ui.value*7));
它看起来是这样的:https://jsfiddle.net/u2h261ka/
相关文章:
- toLocaleDateString和toLocaleString方法不尊重机器时区
- 高库存时期时间与时区不匹配
- 仅在IE中,javascript中的时区名称不正确
- 带时区的Javascript Datestring转换器
- 获取用户选择的不带时区的日期
- Rails:如何获取当前用户'使用Heroku时的时区
- JavaScript - 检查时区的夏令时
- 如何在Dynamics CRM中获取时区的夏令时开始和结束时间
- 如何使用 Javascript 确定夏令时是否对给定日期和时区有效
- 检查不同时区的夏令时是否有效
- 使用时刻.js或时刻时区,匹配标准时间和夏令时
- 如何处理夏令时时区偏移量
- 时区转换器,包括夏令时
- JavaScript、时区和夏令时
- 如何在JavaScript中处理夏令时和时区
- 经过计算,日期似乎正在将时区从夏令时更改为标准时区
- Javascript处理不同时区的夏令时
- Javascript在没有夏令时的情况下无法获取时区
- 是否有一个jQuery日期格式化插件,可以处理多个时区和适当的夏令时
- Javascript日期-如何知道夏令时是否在给定时区生效