Locale
のDateFormat
を検索するにはどうすればよいですか?例えばロケールのJava日付書式
答えて
DateFormat.getDateInstance(int,Locale)
:
import static java.text.DateFormat.*;
DateFormat f = getDateInstance(SHORT, Locale.ENGLISH);
が次にあなたが形式にこのオブジェクトを使用することができますDate
S:
String d = f.format(new Date());
あなたが実際に下地パターンを知りたい場合は、(例えばyyyy-MMM-dd
)、 SimpleDateFormat
オブジェクトを取得すると、
SimpleDateFormat sf = (SimpleDateFormat) f;
String p1 = sf.toPattern();
String p2 = sf.toLocalizedPattern();
私はDateFormat.getDateInstance(...は)のSimpleDateFormatオブジェクトを返すという保証はないと思いますので、SimpleDateFormatのに結果をキャストすると、それは、Sunの実装よりもジャワの別の実装では動作しない場合があります、またはそれは可能性があります(危険かもしれませんSunの実装とは異なるバージョンでも動作しません)。 – Jesper
これは非常に真実です。保証はありません。しかし、それは、実際FYI –
で 'SimpleDateFormat'、こうした' java.text.SimpleDateFormat'は今[レガシー](https://en.wikipedia.org/wiki/Legacy_system)などの面倒な古い日付時刻クラスになります[java.time(https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html)クラスによって取って代わら。 [Tutorial by Oracle](https://docs.oracle.com/javase/tutorial/datetime/TOC.html)を参照してください。 –
SimpleDateFormatキャストを使用せずに、指定されたLocaleオブジェクトのデフォルトパターンを取得する方法はありますか?
あなたが質問をするか、コメント欄に質問をする必要がある場合は、新しいポストを作成します。これらは、元の投稿への回答のために予約されています。 – hfontanez
TL; DR
DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL)
.withLocale(Locale.CANADA_FRENCH);
java.time
元の日付・時間クラスは現在、レガシーであり、java.timeクラスに取って代わられています。
DateTimeFormatter
には、日付時刻の値を表す文字列を生成するときにLocale
によって自動的にローカライズする簡単な方法があります。出力の長さを示すには、FormatStyle
を指定します(省略形または省略形)。
DateTimeFormatter f = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL);
f = f.withLocale(Locale.CANADA_FRENCH);
現在の時刻を取得します。 Locale
とタイムゾーンは互いに関係がないことに注意してください。 1つはプレゼンテーションを決定し、もう1つは特定のwall-clock timeに調整されます。したがって、ニュージーランドでは、日本語のLocale
、またはこの場合はインドのタイムゾーンをQuébécoisの人が読むために書式設定して設定することができます。
ZoneId z = ZoneId.of("Asia/Kolkata");
ZonedDateTime zdt = ZonedDateTime.now(z);
ローカライズしたフォーマッタオブジェクトを使用して文字列を生成します。
String output = zdt.format(f);
java.timeについて
java.timeフレームワークは、Java 8に組み込まれており、後にされています。これらのクラスは、java.util.Date
、Calendar
、& SimpleDateFormat
など、面倒な古いlegacy日時クラスに取って代わります。
maintenance modeにあるJoda-Timeプロジェクトは、java.timeクラスへの移行を推奨しています。
詳しくはOracle Tutorialをご覧ください。そして、多くの例と説明のためにStack Overflowを検索してください。仕様はJSR 310です。
ここで、java.timeクラスを取得するには?
- Java SE 8、Java SE 9、以降
- 内蔵しています。
- バンドルされた実装の標準Java APIの一部です。
- Java 9には、いくつかのマイナーな機能と修正が加えられています。
- Java SE 6とJava SE 7
- java.time機能の多くはThreeTen-BackportのJava 6 & 7に戻って、移植されます。
- Android
-
ThreeTenABP
- プロジェクトは、具体的にはAndroid用(上記)ThreeTen-バックポートを適応させます。
- How to use ThreeTenABP…を参照してください。
ThreeTen-Extraプロジェクトでは、追加のクラスでjava.timeを拡張します。このプロジェクトは、将来のjava.timeへの追加の可能性を証明する土台です。ここでは、Interval
、YearWeek
、YearQuarter
、moreなどの便利なクラスがあります。 FYI
- 1. Java - 日付書式
- 2. Javaのシステム日付書式
- 3. Javaで日付の書式を探す
- 4. の書式ロケール
- 5. laravel 5.2 - 日付の書式設定、炭素と書式::日付
- 6. 日付の書式は日付
- 7. fullcalendar日付書式
- 8. ISO日付を日付書式からLONG日付書式に変換する
- 9. 変更日付書式日付ピッカー
- 10. SASの日付の書式
- 11. VBScriptの日付の書式
- 12. BigQueryの日付書式
- 13. マンドリルハンドルバーテンプレート日付の書式
- 14. クリスタルレポートのカスタム日付書式
- 15. 日付/時刻の書式
- 16. SQLiteクエリの日付書式
- 17. 剣道の書式日付
- 18. PHP日付の書式
- 19. angularJSの書式日付
- 20. Javaでロケール固有の書式設定の日付フィールドを抽出する方法は?
- 21. UTC形式の日付Java
- 22. PHP - 日付形式の書式設定
- 23. 非公式日付の書式設定
- 24. iOSの日付書式の日付書式を追加する方法「目」、「ST」
- 25. の書式日付「日DD/MM/YYYY」
- 26. iPhone SDK日付書式
- 27. XSD日付書式オーバーライド
- 28. JQGrid日付書式設定
- 29. Python書式日付問題
- 30. GWT日付書式設定
、[java.time](HTTPSに取って代わられ、このような 'DateFormat'は今[レガシー](https://en.wikipedia.org/wiki/Legacy_system)などの面倒な古い日付時刻クラス、:/ /docs.oracle.com/javase/8/docs/api/java/time/package-summary.html)のクラスを参照してください。 [Tutorial by Oracle](https://docs.oracle.com/javase/tutorial/datetime/TOC.html)を参照してください。 –