質問

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  
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top