我已經玩了近6個小時,現在看了其他問題,但似乎無法弄清楚我做錯了什麼,給了我這些奇怪的結果。這裏是我的代碼如下DateFormat.parse()給出錯誤的結果
String dateStr = "20171230";
StringBuilder sb = new StringBuilder();
sb.append(dateStr.subSequence(0, 4))
.append("/")
.append(dateStr.substring(4,6))
.append("/")
.append(dateStr.substring(6,8));
dateStr = sb.toString();
System.out.println("date string is " + dateStr);
DateFormat df = new SimpleDateFormat("yyyy/mm/dd");
df.setLenient(false);
Date Date = null;
try {
Date = df.parse(dateStr);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Date is " + Date);
輸出
date string is 2017/12/30
Date is Mon Jan 30 00:12:00 CST 2017
日期應該是12月30日,而不是1月30日有人能告訴我爲什麼發生這種情況。