背景
Java の日付形式が書かれているのを見ると、通常はyyyy-MM-dd'T'HH:mm:ssZ
何を意味するのでしょうか?
特に、この T が左右の一重引用符の区切り文字として機能するのはなぜですか? これらの一重引用符は出力されますか?
このZは何を意味するのでしょうか?タイムゾーンですか?タイムゾーンの場合、出力の形式は何ですか? これは、+0800 または +08:00 または +8:00 のような文字列ですか?
説明する
yyyy-MM-dd'T'HH:mm:ssZ
T は文字列 T を意味します。T を使用する必要はありませんが、誰もが T と書くことに慣れています。
- 文字 a を使用して区切ることもできます:
yyyy-MM-dd'a'HH:mm:ssZ
(出力例: 2023-09-16a15:59:01+0800) - さらに多くの文字を使用してページ行を区切ることができます:
yyyy-MM-dd'abc'HH:mm:ssZ
(出力例: 2023-09-16abc15:59:01+0800)
最終的な印刷結果には一重引用符は含まれません。これらの一重引用符は、この日付形式で文字または文字列を表すために使用される単なる形式です。
この日付式は一重引用符なしでは使用できません。これを使用しないと、特別な意味を持つ文字 (y、M、d など) として理解され、実行時に例外がスローされるためです。
エラーの例:
yyyy-MM-ddTHH:mm:ssZ
検証済みコード
public static void main(String[] args) {
String f = "yyyy-MM-dd'T'HH:mm:ssZ";
SimpleDateFormat sdf = new SimpleDateFormat(f);
String format = sdf.format(new Date());
System.out.println(format);
}