SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'") (Z 日付文字列形式)
SimpleDateFormat コンストラクターを使用する場合、日付形式を次のように設定しました。 「yyyy-MM-dd'T'HH:mm:ss'Z'」。形式文字列の末尾の「Z」文字は、日付/時刻が UTC/GMT タイムゾーンであることを示します。ただし、出力に GMT/UTC ではなく IST タイム ゾーンが表示されるという問題が発生しました。
これは、SimpleDateFormat オブジェクトのタイム ゾーンを明示的に設定していないために発生します。 「Z」文字は UTC/GMT タイムゾーンの日付を表しますが、日付/時刻オブジェクトがそのタイムゾーンに自動的に調整されるわけではありません。正しいタイムゾーンが適用されるようにするには、setTimeZone メソッドを使用してタイムゾーンを設定する必要があります。
解決策:
この問題を解決するには、次のコードを使用して、タイム ゾーンを GMT/UTC に変更します:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
タイム ゾーンを明示的に設定すると、 SimpleDateFormat オブジェクトは GMT/UTC タイムゾーンの日付/時刻を正確に表し、出力には正しい時刻が表示されます。
以上が`SimpleDateFormat('yyyy-MM-dd'T'HH:mm:ss'Z'')` が GMT/UTC ではなく IST を表示するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。