SimpleDateFormatパターン文字列にアルファベット文字を含めることは可能ですか?
たとえば、時刻の前に文字「T」が含まれるフォーマット文字列を作成しようとしています:
2003-11-15 (〜#〜] t [〜#〜] 09:30:47-05:00。
現在、パターン文字列としてyyyy-MM-ddhh:mm:ssZ
を使用しています。
これをyyyy-MM-ddThh:mm:ssZ
に変更すると、「A」から「Z」および「a」から「z」が予約されているため、例外がスローされます。
2つのDateFormatの使用を伴わない解決策はありますか?
T
を単一引用符で囲むと機能するはずです:
yyyy-MM-dd'T'hh:mm:ssZ
ドキュメント (強調鉱山)から引用:
日付と時刻の形式は、日付と時刻のパターン文字列によって指定されます。日付と時刻のパターン文字列内で、
'A'
から'Z'
および'a'
から'z'
の引用符で囲まれていない文字は、日付または時刻文字列のコンポーネントを表すパターン文字として解釈されます。 テキストは、解釈を避けるために一重引用符('
)を使用して引用できます。"''"
は一重引用符を表します。他のすべての文字は解釈されません。フォーマット中に出力文字列にコピーされるか、解析中に入力文字列と照合されます。
特定のユースケースも例として含まれています。
Date and Time Pattern Result
-------------------------------------------------------------
"yyyy-MM-dd'T'HH:mm:ss.SSSZ" 2001-07-04T12:08:56.235-0700