我想在java中使用SimpleDateFormat日期

时间:2012-06-13 01:15:32

标签: java time simpledateformat

我正在尝试通过传递日期来格式化日期然后格式化它但它无法正常工作。

显示解析异常

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;

}

2 个答案:

答案 0 :(得分: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以确保上午/下午始终有效。

答案 1 :(得分: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