ホームページ > Java > &#&チュートリアル > SimpleDateFormat('yyyy-MM-dd'T'HH:mm:ss'Z'') が GMT ではなく IST を表示する場合があるのはなぜですか?

SimpleDateFormat('yyyy-MM-dd'T'HH:mm:ss'Z'') が GMT ではなく IST を表示する場合があるのはなぜですか?

DDD
リリース: 2024-12-05 19:14:10
オリジナル
591 人が閲覧しました

Why Does SimpleDateFormat(

SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'") タイムゾーン解釈の混乱

In java の SimpleDateFormat を使用すると、ユーザーは指定されたパターンを使用して日付を解析し、フォーマットすることができます。パターン「yyyy-MM-dd'T'HH:mm:ss'Z'」を使用する場合、「Z」が GMT/UTC タイムゾーンを表すことが期待されます。ただし、結果の日付には予想される GMT タイムゾーンではなく IST タイムゾーンが表示されるという懸念があります。

説明

パターン内の 'Z' 文字は実際に次のことを示します。 GMT/UTC タイムゾーン。ただし、日付/時刻文字列に「Z」を追加するだけでは値が魔法のように変更されるわけではないことに注意することが重要です。 setTimeZone メソッドを使用して、SimpleDateFormat オブジェクトのタイムゾーンを明示的に設定する必要があります。

問題の解決

出力日付に GMT/UTC タイムゾーンが正しく反映されるようにするには、次のようにします。次の行を使用してタイムゾーンを明示的に GMT に設定する必要があります。 code:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
ログイン後にコピー

タイムゾーンを設定すると、SimpleDateFormat オブジェクトは「Z」を GMT/UTC として正しく解釈し、希望のタイムゾーンで日付を表示します。

以上がSimpleDateFormat('yyyy-MM-dd'T'HH:mm:ss'Z'') が GMT ではなく IST を表示する場合があるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート