首頁 >Java >java教程 >如何在Java中正確地將日曆日期轉換為'yyyy-MM-dd”格式?

如何在Java中正確地將日曆日期轉換為'yyyy-MM-dd”格式?

Barbara Streisand
Barbara Streisand原創
2024-12-18 02:53:09232瀏覽

How to Correctly Convert a Calendar Date to

在Java 中將日曆日期轉換為「yyyy-MM-dd」格式

在Java 中,將日曆日期轉換為「 yyyy- MM-dd”格式是各種應用程式的基本任務。

不正確方法:

在從Calendar 取得的Date 物件上使用「yyyy-MM-dd」模式的SimpleDateFormat 類別可能不總是能產生所需的結果。例如,以下代碼片段將生成“Wed Sep 26 00:00:00 IST 2012”而不是“2012-09-26”:

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 年。

以上是如何在Java中正確地將日曆日期轉換為'yyyy-MM-dd”格式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn