日付に加えて時間の入力を可能にするために、Timepicker jQuery プラグインを使用しています。
ただし、実際に選択した時間が現地時間ではないことを理解させるのにしばらく苦労してきました。
私のユーザーは、実際に香港でメンテナンスが行われる時間を選んでいます。
したがって、「2013/09/30, 14:00」は実際には Asia/Hong_Kong TimeZone の時間です。
タイムゾーン間の操作と変換に非常に優れたtimezone-jsライブラリも使用しています。
私のコードはこれです:
jQuery初期化:
jQuery(function (){
jQuery('#trouble_ticket_start, #trouble_ticket_end').datetimepicker({
changeMonth: true,
changeYear: true,
dateFormat: 'yy-mm-dd',
showButtonPanel: true,
gotoCurrent: true
});
誰かが尋ねる前に、私は Olson タイムゾーン ファイルを正しくインストールしました。
Chrome で JS コンソールを起動します。
dt = jQuery("#trouble_ticket_start").datepicker("getDate");
>> Mon Sep 30 2013 14:00:00 GMT+0200 (CEST)
上記は正しいです。ただし、タイムゾーンをデフォルトで香港にしたいです。それは可能ですか?
次に進み、それを timezone-js オブジェクトに変換します。
dtj = new timezoneJS.Date(dt, 'Asia/Hong_Kong');
>> timezoneJS.Date {_useCache: false, _tzInfo: Object, _day: 1, year: 2013, month: 8…}
dtj.toString();
>> "2013-09-30 20:00:00"
dtj.getTimezone();
>> "Asia/Hong_Kong"
これはもちろん正しいです。しかし、最初の時間選択をデフォルトで Hong_Kong timeZone にするにはどうすればよいでしょうか?
前もって感謝します...
PRR