日時の値を含む編集フォームを投稿するときに問題が発生しました。getTimeZonOffset で localdatetime を設定するスクリプトがあります。データベースのutc時間をlocaltimeで表示したいのは初めてです。問題は、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">