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