在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中文網其他相關文章!