Java:SimpleDateFormat类中的问题

时间:2013-06-14 06:15:30

标签: java simpledateformat

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

4 个答案:

答案 0 :(得分:5)

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

DateFormat formatter = new SimpleDateFormat("dd.MM.yyyy");

答案 1 :(得分:3)

你应该从这里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); 

答案 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);
        }
    }