android中的Unparseable Date

时间:2013-04-27 09:12:39

标签: java android

SimpleDateFormat df2 = new SimpleDateFormat("dd-MMM-yyyy");
String eDate ="04/26/2013";
Date eDDte;
try {
    eDDte = df2.parse(eDate);
    System.out.println("Date: " + eDDte);
} catch(ParseException e){
}

注意:我在第5行得到unparseable date error。我已经尝试了很多其他格式,但我不知道是什么问题。

4 个答案:

答案 0 :(得分:6)

您需要将格式更改为:" MM / dd / yyyy"核心地解析你的日期:" 04/26/2013"

这个简单的测试打印出来:Date: 26-Apr-2013

public class DateFormatTest {
    public static void main(String... args) {
        SimpleDateFormat df2 = new SimpleDateFormat("MM/dd/yyyy");
        SimpleDateFormat df3 = new SimpleDateFormat("dd-MMM-yyyy");
        String eDate ="04/26/2013";
        Date eDDte;
        try {
            eDDte = df2.parse(eDate);
            System.out.println("Date: " + df3.format(eDDte));
        } catch(ParseException e){
            e.printStackTrace();
        }
    }
}

答案 1 :(得分:2)

日期格式dd-MMM-YYYY不会解析日期为04/26/2013。 将解析它的日期格式,例如26-APR-2013。

Here's a list of the common date patterns.一般来说,你的约会模式是这样的:

  • 接受日期,前导零,后面有一个划线
  • 接受三个字母的短手月份(APR),背后有一个短划线
  • 参加今年

为了让SimpleDateFormat解析它,它必须在该模式中完全。因此例外。

如果您不想要这种模式,那么请探索更符合您日期字符串的传统日期模式MM / dd / YYYY。

答案 2 :(得分:0)

试试这个

SimpleDateFormat df2 = new SimpleDateFormat("MM/dd/yyyy");
String eDate ="04/26/2013";
Date eDDte;
try {
    eDDte = df2.parse(eDate);
    System.out.println("Date: " + eDDte);
} catch(ParseException e){ }

答案 3 :(得分:0)

首先将日期'04 / 26/2013'解析为'MM / dd / yyyy',然后解析它。

    SimpleDateFormat df2 = new SimpleDateFormat("dd-MM-yyyy");
    SimpleDateFormat ef2 = new SimpleDateFormat("MM/dd/yyyy");
    String eDate = "04/26/2013";
    Date eDDte;
    try {
        Date nDate = ef2.parse(eDate);
        eDDte = df2.parse(df2.format(nDate));
        System.out.println("Date: " + eDDte);
        System.out.println("\nFormated Date:"+ df2.format(nDate));
    } catch (Exception e) {
    }

输出:

Date: Fri Apr 26 00:00:00 GMT+05:30 2013

Formated Date:26-04-2013