当我发布带有日期时间值的编辑表单时,我遇到了问题。我有一个使用 getTimeZonOffset 设置本地日期时间的脚本。当我第一次希望数据库中的 utc 时间以本地时间显示时,它可以工作。问题是当我想用 datetimepicker 编辑表单时。新值存储在数据库中,每次用户点击提交按钮时,它都会再次添加本地时间。
我该怎么做才能避免这种情况?
$(function () {
// Determine timezone offset in milliseconds
var d = new Date();
var offsetms = d.getTimezoneOffset() * 60 * 1000;
$('.UTCTime input').each(function () {
try
{
var text = $(this).val();
var n = new Date(text);
n = new Date(n.valueOf() - offsetms);
var curr_date = n.getDate();
var curr_month = n.getMonth() + 1; //Months are zero based
var curr_year = n.getFullYear();
var curr_hour = n.getHours();
var curr_minutes = n.getMinutes();
$(this).val(curr_year + "/" + curr_month + "/" + curr_date + " " + curr_hour + ":" + curr_minutes);
}
catch (ex) {
console.warn("Error converting time", ex);
}
});
});
$(function () {
$(".datetimepicker input").datetimepicker({
dateFormat: "yy/mm/dd",
showTime: true,
});
});
<div class="span3 value UTCTime datetimepicker">