java中的无法解析的日期

时间:2014-04-04 09:26:23

标签: java android

我尝试与日期进行比较。

在我的java代码下面:

    SimpleDateFormat sdf = new SimpleDateFormat("EEEE MMMM dd, yyyy");
     String currentDateString = sdf.format(new Date());
     System.out.println(currentDateString);

     Date currentDate = sdf.parse(currentDateString);
     System.out.println("date:"+currentDate.toString());

     sdf = new SimpleDateFormat("EEEE MMMM dd, yyyy");
     Date weatherDate = sdf.parse("2014-04-04");
     System.out.println("weatherDate:"+weatherDate);

     if(currentDate.equals(weatherDate)){
         System.out.println("true");
     }

给我错误

Exception in thread "main" java.text.ParseException: Unparseable date: "2014-04-04"
    at java.text.DateFormat.parse(Unknown Source)
    at DateTime.main(DateTime.java:43)

请帮帮我。

4 个答案:

答案 0 :(得分:2)

2014-04-04& EEEE MMMM dd, yyyy彼此不匹配。

2014-04-04日期字符串与yyyy-MM-dd日期模式完全匹配。

答案 1 :(得分:0)

您的SimpleDateFormat参数完全错误。更改它以匹配您提供的日期格式。

答案 2 :(得分:0)

日期"2014-04-04"与您在SimpleDateFormat中指定的格式不符。正确的格式为"yyyy-MM-dd"

答案 3 :(得分:0)

只需替换此行

SimpleDateFormat sdf = new SimpleDateFormat("EEEE MMMM dd, yyyy");

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

也是这一行,

sdf = new SimpleDateFormat("EEEE MMMM dd, yyyy");

sdf = new SimpleDateFormat("yyyy-MM-dd");