SimpleDateFormat パターン文字列でのアルファベット文字の使用
-
19-09-2019 - |
質問
SimpleDateFormat パターン文字列に英字を含めることはできますか?
たとえば、時刻の前に文字「T」が含まれる書式文字列を作成しようとしています。
2003-11-15T09: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
所属していません StackOverflow