【发布时间】:2013-02-19 16:18:38
【问题描述】:
在日期选择器到达 BST 之前,我有以下代码可以正常工作。
var i;
function showEventDates(date) {
for (i = 0; i < startDates.length; i++) {
if (date.getTime() == startDates[i]) {
return [true, 'eventDay'];
}
}
return [false, ''];
}
var startDates = new Array();
$("select.startdates").find("option").each( function() {
startDates.push(Date.UTC.apply(Date, this.value.split(",").map(Number)));
});
$('#mydate').datepicker({
beforeShowDay: showEventDates
});
在 BST 期间,if (date.getTime() == startDates[i]) { 行返回 false,因为有一个小时的差异。
有什么想法可以让这些匹配吗?我认为日期选择器时间不是 UTC。
编辑:
select.startdates 中的一个选项示例是
<option value="2013, 2, 1">01/03/2013</option>
【问题讨论】:
-
时间可能会本地化,我去看看文档
-
@HugoDozois - 是的......知道如何“取消本地化”它吗??
-
@Tom:Date 对象的
getTimezoneOffset方法以分钟为单位返回偏移量。您可以使用它将本地日期转换为 UTC。 -
@Martijn:听起来不错。我现在看到这个已经炸了我的大脑。你能告诉我如何使用它吗?
标签: javascript jquery jquery-ui jquery-ui-datepicker utc