1

我正在使用 Kendo UI DateTimePicker,但遇到了绑定问题。我从 json 获取数据,然后根据 json 值创建新的 js 日期并绑定它。实际结果是将日期转换为本地时区。我可以禁用转换到本地时区吗?

4

2 回答 2

3

DateTimePicker 不执行任何转换。我希望您的日期没有时区说明符,并且当您创建新的 js 日期时,此值被视为 UTC 并转换为本地。要解决这个问题,您可以简单地从 json 绑定日期,而无需创建新的 js 日期。

于 2013-05-04T08:40:17.430 回答
3

您可以这样做以向您的代码添加一个 useUtc 选项,该选项将始终以 Utc 格式返回日期:

kendo.ui.DatePicker.prototype.valueOld = kendo.ui.DatePicker.prototype.value;
kendo.ui.DatePicker.prototype.value = function (e) {
    var val = this._value;
    if (val != null && this.options != null && this.options.useUtc) {
        this._value = new Date(Date.UTC(val.getFullYear(), val.getMonth(), val.getDate()));
    }
    return this.valueOld(e);
}

kendo.ui.DateTimePicker.prototype.valueOld = kendo.ui.DateTimePicker.prototype.value;
kendo.ui.DateTimePicker.prototype.value = function (e) {
    var val = this._value;
    if (val != null && this.options != null && this.options.useUtc) {
        this._value = new Date(Date.UTC(val.getFullYear(), val.getMonth(), val.getDate(), val.getHours(), val.getMinutes(), val.getSeconds(), val.getMilliseconds()));
        }
    return this.valueOld(e);
}
于 2016-02-11T16:42:22.180 回答