2017-10-23 3 views
-3

ロケール設定でテキストを日付に変換する場合、パターンとロケールを渡すSimpleDateFormatコンストラクタを使用できます。次に、テキストを解析し、解析から返された日付を書式設定します。私がやっているのは、SimpleDateFormat.format(date)から返された文字列の代わりに日付インスタンスを返すことです。それを再度解析すると、日付が英語で返されますが、locale.russiaのようなロケールで日付インスタンスが必要です。だから基本的に私は文字列 "16 nov 2016"を入力する場合、私は文字列としてではなく、日付のインスタンスとしてそれのロシア語のバージョンが必要です。救助へ返される日付のインスタンスjava

+1

'Date'は、ロケール設定もそれで形式を持っていません。それは唯一の時点です。これがあなたの後だったのなら。 –

+1

「Date」と「SimpleDateFormat」という古くなった古いクラスを使用している理由は何ですか? JSR-310または 'java.time'と呼ばれる最新のJava日時API(https://docs.oracle.com/javase/tutorial/datetime/)に移行することをお勧めします。 –

+0

@ OleV.V。私はそれを徹底的に調べます。それは私が取り組んでいる既存のコードです。 –

答えて

-1

のJava 8:

String date = DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL) 
     .withLocale(new Locale("ru")) 
     .format(LocalDate.of(YYYY, MM, DD)); 
    System.out.println(date); 
+1

それは私たちが得ることができるほど近いです。 Askerは、ロシア語では文字列ではなく、 'Date'インスタンスを要求しましたが、' Date'は言語やロケールを保持していないため、これは不可能です。 –

関連する問題