日期解析错误!!这在另一个项目中工作正常,但它不适用于主项目

时间:2017-04-05 10:52:05

标签: java android date parsing datetime

try{
    SimpleDateFormat Format1 = new SimpleDateFormat("dd MMMMM yyyy hh:mm aaa");
    Format1.setLenient(false);
    s = "26 March 2017 10:30 am";
    Date d = Format1.parse(s);
}
Catch(Exceprion e){
        //ERROR!
}

2 个答案:

答案 0 :(得分:2)

您的字符串格式化程序不正确,您的代码将根据计算机中的区域设置

运行

你需要做类似的事情:

new SimpleDateFormat("dd MMMMM yyyy hh:mm a", Locale.ENGLISH);

但这完全取决于MMMMM是什么(在你的情况下,March是英文)

可能是

  

周一为Locale.ENGLISH

     

Locale.GERMAN的Montag

实施例

    SimpleDateFormat Format1 = new SimpleDateFormat("dd MMMMM yyyy hh:mm a", Locale.ENGLISH);
     Format1.setLenient(false);
    String s = "26 March 2017 10:30 am";
    Date d;
    try {
        d = Format1.parse(s);
        System.out.println(d);
    } catch (ParseException e) {
        e.printStackTrace();
    }

答案 1 :(得分:2)

当然它不起作用,dd MMMMM yyyy hh:mm aaa应该dd MMMMM yyyy hh:mm a记住a是经络上午或下午。

还要记住您的语言区域Locale.ENGLISH作为示例。