0

java.text.SimpleDateFormatは、結局のところjava.text.DateFormatの実装です。このDateFormatの実装は、次のパターン文字を理解できます

G Era designator
y Year
M Month in year
w Week in year
W Week in month
D Day in year
d Day in month
F Day of week in month
E Day in week
a Am/pm marker
H Hour in day (0-23)
k Hour in day (1-24)
K Hour in am/pm (0-11)
h Hour in am/pm (1-12)
m Minute in hour
s Second in minute
S Millisecond
z Time zone
Z Time zone

他のパターン文字グループを理解できるjava.text.DateFormatの他の実装はありますか?もしあれば、私に知らせてください。

4

2 に答える 2

2

java.text.SimpleDateFormatjava.text.DateFormat;を拡張する唯一の公開されたJDKクラスです。ただし、DateFormatなどのファクトリメソッドgetDateInstance()が必ずしも。を返すという保証はありませんjava.text.SimpleDateFormat。代わりに、JDK実装によって提供される他のクラスのインスタンスを返すことができます。(その場合でも、あなたが示唆しているように、他のクラスが「他のパターン文字グループを理解する」かどうかはわかりません。むしろ、ロケールに日付解析があり、–があれば、これが発生する可能性が高くなると思います。ロケールが異なるパターンを必要とするのではなく、単純なテキストパターンが提供できるものよりも複雑なフォーマットのニーズ。しかし、誰が知っていますか?)

Javadocがjava.text.DateFormat言うように:

フォーマットや解析をさらに細かく制御したい場合(またはユーザーがより細かく制御できるようにしたい場合)はDateFormat、ファクトリメソッドから取得したをにキャストしてみてくださいSimpleDateFormat。これは大多数の国で機能します。try異常なものに遭遇した場合に備えて、ブロックに入れることを忘れないでください。

DateFormatまた、必要に応じて、独自の日付形式のサブクラスで拡張できます。そのコンストラクターはprotectedパッケージプライベートではないため、自由にサブクラス化できます。

于 2013-02-06T06:00:19.907 に答える
0

IBM の ICU プロジェクトjava.text.SimpleDateFormatで利用可能な代替クラスがあります。あなたはそれを見ることができます。しかし、これは単なる置換クラスであり、クラスとは何の関係もありません。java.text.SimpleDateFormat

于 2013-02-06T05:56:50.377 に答える