JQDateRangeSlider更改开始/结束值

时间:2016-09-06 13:17:04

标签: javascript jquery

我一直在使用DateRangeSlider几天,现在我将它用作时间滑块 -​​ 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。

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

2 个答案:

答案 0 :(得分:1)

您需要考虑TimeZone以及夏令时(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/

答案 1 :(得分:0)

我已更新日期和时间格式,如下所示

var min2 = new Date(2014, 0, 1, 00, 00, 00),
    max2 = new Date(2014, 11, 31, 23, 59, 59);

请立即查看http://jsfiddle.net/LJrYf/149/小提琴。

我已更新您的代码,现在它按预期工作。