2

GMT / Zulu時刻を使用して、タイムスタンプをGWTクライアントに送信します。各文字列は、そのように指定されています(つまり、2012-01-19T16:29:18Z、または4:29 pm GMT)。ローカルタイムゾーンのブラウザでこれを表示するにはどうすればよいですか?したがって、CSTの私にとっては、午前10時29分になると予想しています。

フォーマットを行わない場合、日付は午後4時29分になります。これは、TimeZone.createTimeZone(0)のTimeZoneオブジェクトを使用すると、何らかの理由で午後10時29分になります(予想どおりAMではありません)。0よりも意味のあるものを渡すことになっていると思いますが、ブラウザが実行されている場所に適切な値を取得するにはどうすればよいですか?

J

4

2 に答える 2

2

以下を使用して、ブラウザで設定されているタイムゾーンオフセットを取得できます。

Date d = new Date();
d.getTimezoneOffset();

タイムゾーン名は表示されません。取得することはできないと思います。

時間をタイムスタンプまたは文字列として送信しますか?最善のアプローチは、UTCタイムスタンプをクライアントに送信し、DateTimeFormat/TimeZoneを使用して必要なゾーンにフォーマットすることです。しかし、オフセットを含む日付文字列を解析している場合は、とにかくUTCタイムスタンプになってしまうと思います。

于 2012-01-19T18:16:12.607 に答える
1

GWTクライアントコードでブラウザのタイムゾーンの時刻をフォーマットする場合は、サーバーからクライアントにjava.util.Dateオブジェクトとしてデータを渡す必要があります。

于 2012-01-19T18:14:02.700 に答える