ホームページ > Java > &#&チュートリアル > Javaでカレンダーの日付を「yyyy-MM-dd」形式に正しく変換するにはどうすればよいですか?

Javaでカレンダーの日付を「yyyy-MM-dd」形式に正しく変換するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-18 02:53:09
オリジナル
233 人が閲覧しました

How to Correctly Convert a Calendar Date to

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート