簡體   English   中英

Java SimpleDateFormat解析奇數

[英]Java SimpleDateFormat parsing oddity

我很困惑為什么這不起作用。 無論我將日期更改為什么,它都會打印出相同的內容。 這里發生了什么?

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/YYYY");
String s = "11/22/2000";
Date d = sdf.parse(s);
System.out.println(d.toString());

輸出: Sun Dec 26 00:00:00 CST 1999

您使用的是YYYY ,它是星期年份,而不是“正常”年份。 通常只與星期幾和一年中的指定符一起使用。

這里的確切行為將很難解釋-可行,但不是很有幫助。 基本上,解決方案是“不要那樣做”。 你想要的格式字符串MM/dd/yyyy ,而不是-注意的情況下, yyyy

(作為附帶說明,如果您可以使用Java 8或Joda Time中的java.time.* ,則在Java中有日期/時間問題的時間會好很多。這不會影響此特定問題,但是通常是個好主意...)

采用

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy")

代替

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/YYYY");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM