我已閱讀了大量過去的文章,看來我正確地做了所有事情,但日曆由於某種原因錯誤地解析了字符串。本質上,我正在接受輸入日期並將其解析爲日曆日期。 println語句是爲了錯誤測試。將文本解析爲日曆日期的錯誤
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-YYYY");
Calendar wholeDate = new GregorianCalendar();
System.out.println(txtMmddyyyy.getText());
System.out.println(wholeDate.MONTH + " " + wholeDate.DAY_OF_MONTH + " " + wholeDate.YEAR);
try {
wholeDate.setTime(sdf.parse(txtMmddyyyy.getText()));
} catch (ParseException e3) {
System.out.println("Failure");
e3.printStackTrace();
}
System.out.println(wholeDate.MONTH + " " + wholeDate.DAY_OF_MONTH + " " + wholeDate.YEAR);
當我輸入 「2017年5月15日」
-The第一打印語句返回 「17年5月15日」
-The第二打印語句返回 「2 5 1」
- 第三個打印語句返回「2 5 1」
我很困惑,想知道是否有人知道可能發生了什麼。謝謝。
你混淆了常量MONTH等與他們如何使用;你認爲這是一個月,但這只是一個常數,用於檢索月份。看看Javadocs。 –