日付時刻オブジェクトは
あなたのご意見は、あなたがそれらの値を表す文字列を日付時刻オブジェクトをconflatingしていることを示している何の形式を持っていません。
日時オブジェクトにはフォーマットがありません。オブジェクトは文字列を生成してその値を表すことができますが、このような文字列は区別されています。同様に、文字列を解析することによって日付/時刻オブジェクトをインスタンス化することもできますが、新しい日付オブジェクトは区別され、分離されます。
あなたが特定の書式パターンを指定Answer by VHSに示すように、あなたは文字列を生成することができます
のローカライズ。しかし、一般的に、より良い方法は、java.timeを自動的にローカライズすることです。
FormatStyle
文字列がどのくらいか、省略をする必要があります決定するために:、ローカライズ指定するには 。
Locale
(a)日の名前、月の名前などの翻訳のための人間言語、および(b)略語、大文字小文字、句読点、区切り記号などの問題を決定する文化的な基準を決定する。
例:
Locale l = Locale.CANADA_FRENCH ; // Or Locale.US, Locale.ITALY, etc.
DateTimeFormatter f = DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL).withLocale(l);
String output = myLocalDate.format(f);
DateTimeFormatterBuilder
クラスは、特別なニーズのためです。一般に必要なのは、DateTimeFormatter
クラスです。
code run live at IdeOne.comを参照してください。しかし、IdeOne.com WebサイトのJavaの実装には制限があります。代替ロケールは無視され、単一の英語ロケール(おそらくLocale.US)にハードコードされます。
DateTimeFormatter formatter = DateTimeFormatter.BASIC_ISO_DATE;
LocalDate localDate = LocalDate.parse("20120403", formatter);
String outputStandard = localDate.toString();
DateTimeFormatter fCanadaFrench =
DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG)
.withLocale(Locale.CANADA_FRENCH) ;
String outputCanadaFrench = localDate.format(fCanadaFrench) ;
DateTimeFormatter fUS =
DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG)
.withLocale(Locale.US) ;
String outputUS = localDate.format(fUS) ;
LOCALDATE。toString():2012-04-03
outputCanadaFrench:3アヴリル2012
outputUS:2012年4月3日
https://docs.oracle.com/javase/tutorial/datetime/iso /format.html – shmosel