DateTimePicker:禁用时区转换

时间:2013-05-04 08:33:59

标签: kendo-ui

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

2 个答案:

答案 0 :(得分:2)

DateTimePicker不执行任何转换。 我希望您的日期没有时区特定程序,当您创建新的js日期时,此值被视为UTC并转换为本地。要解决此问题,您只需从json绑定日期,而无需创建新的js日期。

答案 1 :(得分:2)

您可以这样做,为您的代码添加一个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);
}