2016-10-06 14 views
2

は:DateTimeFormatter.ofPattern( "EEEE、MMMM d"、ロケール)を日付形式に変換する方法を教えてください。例えば

DateTimeFormatter dtfr = DateTimeFormatter.ofPattern("EEEE, MMMM d", locale); 
return dtfr.format(localDate); 

結果は(ロケールがドイツである):

Expected :Samstag, 28. Mai 
Actual :Samstag, Mai 28 

私は結果が

DateTimeFormatter dtf = DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL); 
return dtf 
      .withLocale(locale) 
      .format(localDate1); 

を使用する場合:

Expected :Samstag, 28. Mai 
Actual :Samstag, 28. Mai 2016 

I取り除くことはできません他の言語が年を記述するために異なる単語を持つかもしれないので、単純に年。

DateTimeFormatter(SimpleDateFormatではなく)を使用して動作させるにはどうすればよいですか?

答えて

0

渡されたパラメータの並べ替えhttps://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#Patterns

:あなたは、Java APIに必要なすべてのパターンを見つけることができます。.. Samstag, 28 Mai

あなたを与えるだろう

"EEEE, d MMMM"

"EEEE, MMMM d"はを使用してみてください。.. Samstag, Mai 28

を行います

+0

ですが、米国をはじめとする国々のフォーマットは異なります。だから私はロケールに基づいてフォーマットをしたい。したがって、米国版は「EEEE、MMMM d」ですが、ドイツ版は「​​EEEE、d MMMM」 – Alex

+0

@Alexです。利用できません。完全なローカライズされたフォーマットのみ。年が利用可能です。 – Andreas

+0

@アンドレアスあなたは私がこの結果を得ることができるということを意味します:Samstag、28.年とマイ2016。 FormatStyle.FULLを使用して年を取り除くにはどうすればよいですか?ありがとうございました – Alex

関連する問題