我正在尝试将格式为dd.MM.YYYY的日期字符串转换为日期对象,如下所示:
String start_dt = "01.01.2011";
DateFormat formatter = new SimpleDateFormat("dd.MM.YYYY");
Date date = (Date)formatter.parse(start_dt);
System.out.print("Date is : "+date);
但是我得到了这个结果Date is : Sun Dec 26 00:00:00 MST 2010
我在不同的ides中尝试过它,甚至在compileonline.com上,结果仍然相同。
所以我在这里做错了什么,因为它不应该表现得像这样。
请帮忙。
答案 0 :(得分:5)
年份的模式不正确。你需要说:
DateFormat formatter = new SimpleDateFormat("dd.MM.yyyy");
答案 1 :(得分:3)
你应该从这里link1和link2了解DateFormat,你会发现你的代码应该是那样的(年份应该写成小写字母)。
String start_dt = "01.01.2011";
DateFormat formatter = new SimpleDateFormat("dd.MM.yyyy");
Date date = (Date)formatter.parse(start_dt);
System.out.print("Date is : "+date);
答案 2 :(得分:2)
正确的表示形式为yyyy
String start_dt = "01.01.2011";
DateFormat formatter = new SimpleDateFormat("dd.MM.yyyy");
Date date = null;
try {
date = (Date)formatter.parse(start_dt);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.print("Date is : "+date);
答案 3 :(得分:2)
public static void main(String[] args) {
try {
String start_dt = "01.01.2011";
DateFormat formatter = new SimpleDateFormat("dd.MM.yyyy");
Date date = (Date)formatter.parse(start_dt);
System.out.print("Date is : "+date);
} catch (ParseException ex) {
Logger.getLogger(NewClass.class.getName()).log(Level.SEVERE, null, ex);
}
}