0

我正在尝试通过解析日期然后对其进行格式化来格式化它,但它不起作用。

它显示解析异常

public java.util.Date convertFormat(String DateTimeForm) 
                    throws ParseException {
 DateTimeForm="2012-06-01 10:00 PM";
 DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm aaa");
 java.util.Date FCDate = (java.util.Date) formatter.parse(DateTimeForm);

 return (java.util.Date) FCDate;

}
4

2 回答 2

1

这在我的机器上运行良好。我没有改变任何重要的东西。

    DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm aaa"); 
    Date date = null;
    try {
        date = formatter.parse("2012-06-01 10:00 PM");
    } catch (ParseException ex) {
        // Intentionally empty. Failed parse causes date == null. 
    }
    System.out.print(date);

印刷

    Fri Jun 01 22:00:00 EDT 2012

Java 文档说数字都是独立于语言环境的,但不是 AM/PM。例如,如果您Locale.JAPAN在格式化程序构造中指定,代码将失败。指定Local.US以保证 AM/PM 始终有效。

于 2012-06-13T01:27:28.697 回答
1
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm aaa");
try {
    Date date = formatter.parse("2012-06-01 10:00 PM");
    System.out.println(date.toString());
    } catch (ParseException e) {
        e.printStackTrace();
    }

没有改变任何东西,但它仍然有效。

Fri Jun 01 22:00:00 CDT 2012
于 2012-06-13T01:29:19.840 回答