Java でカレンダーの日付を「yyyy-MM-dd」形式に変換する
Java でカレンダーの日付を「yyyy-」形式に変換するMM-dd" 形式は、さまざまなアプリケーションにとって不可欠なタスクです。
不正解アプローチ:
Calendar から取得した Date オブジェクトに対して SimpleDateFormat クラスを「yyyy-MM-dd」パターンで使用すると、必ずしも望ましい結果が得られるとは限りません。たとえば、次のコード スニペットは、「2012-09-26」ではなく「Wed Sep 26 00:00:00 IST 2012」を生成します。
Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, 1); Date date = cal.getTime(); SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd"); String date1 = format1.format(date);
正しいアプローチ:
カレンダーの日付を「yyyy-MM-dd」形式に正しく変換するには、 Date と LocalDateTime の違い。
Java 8 :
Java 8 以降では、日付と時刻を表す LocalDateTime クラスを使用できます。タイムゾーン。
LocalDateTime ldt = LocalDateTime.now().plusDays(1); DateTimeFormatter formmat1 = DateTimeFormatter.ofPattern("yyyy-MM-dd", Locale.ENGLISH); String formatter = formmat1.format(ldt); System.out.println(formatter);
Java より前8:
8 より前の Java バージョンを使用している場合は、ThreeTen Backport ライブラリの使用を検討する必要があります。
Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, 1); SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd"); String formatted = format1.format(cal.getTime());
上記のコードでは、最初は目的のものが生成されることに注意してください。文字列「2012-09-26」を解析して日付に戻すと、「Wed Sep 26 00:00:00 EST」になります。 2012年。」これは、Date が固定時点からのミリ秒数を表し、これを書式設定しても文字列表現が変更されるだけであるためです。
以上がJavaでカレンダーの日付を「yyyy-MM-dd」形式に正しく変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。