0

我正在尝试将格式为 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 ,我在不同的 ide 甚至在compileonline.com上尝试过,结果仍然相同。所以我在这里做错了什么吗,因为它不应该表现得像这样。请帮忙。

4

4 回答 4

5

年份的模式不正确。你需要说:

DateFormat formatter = new SimpleDateFormat("dd.MM.yyyy");
于 2013-06-14T06:18:52.933 回答
2

你应该从这里的 link1link2了解 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); 
于 2013-06-14T06:26:42.127 回答
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); 
于 2013-06-14T06:25:30.647 回答
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);
        }
    }
于 2013-06-14T06:25:40.167 回答