javascript - JQDateRangeSlider更改开始/结束值

标签 javascript jquery

我已经使用 DateRangeSlider 几天了,现在我将它用作时间 slider -​​ fiddle

我的问题是最短时间是 02:00,它需要是 00:00,最长时间是 01:59 而不是 23:59。

如果我更改了格式化程序值

h = val.getHours(),
m = val.getMinutes();

h = val.getUTCHours(),
m = val.getUTCMinutes();

它显示正确的开始结束时间,但是当我获取这些值时:

var values = $("#slider").dateRangeSlider('values');
var test = values.min;

它仍然获取其他值:02:00 而不是 00:00。

有没有办法格式化最小/最大值,但读取值时显示同一小时?

最佳答案

您需要考虑时区和夏令时(Date() 对象依赖于它们)。

您的解决方案可以是:

var minDateStr = "2014-01-01T00:00:00Z";
var maxDateStr = "2014-01-01T23:59:00Z";
var min2 = new Date(new Date(minDateStr).getTime() + new Date(minDateStr).getTimezoneOffset() * 60000),
    max2 = new Date(new Date(maxDateStr).getTime() + new Date(maxDateStr).getTimezoneOffset() * 60000);

这是对您的 jsfiddle 的修复:
http://jsfiddle.net/z1govrt7/

关于javascript - JQDateRangeSlider更改开始/结束值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39350006/

相关文章:

javascript - 尝试播放 Tone.js 声音时出现 "Filter not defined"

javascript - Next.js 12 与 theme-ui 一起使用时会中断,给出 "code: ' ERR_REQUIRE_ESM'"

jquery - 想要在 mouseenter 上发生一次,但发生两次

javascript - 立即进行投票(Rails + MySQL + jQuery)

javascript - 在 ajax 完成后隐藏一个按钮并显示另一个按钮

javascript - 改进 if 语句链

javascript - 以编程方式设置按钮文本

javascript - 如何使用 jquery 将数据保存在 cookie 中

c# - 为什么我的中继器会出现切换问题?

javascript - 提交后依赖选择标签被清除