具有AM / PM到期日的字符串

时间:2018-05-07 09:50:28

标签: java

我无法将带有AM / PM的字符串传递给时间戳(日期)。

以下是我正在尝试的一段代码。

public static Date parseDate() {
    String format = "dd-MMM-yyyy HH:mm:ss a";
    String sdate = "07-May-2018 12:00:00 AM";
    Date util_sdate = null;

    try {
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        sdf.setLenient(false);
        util_sdate = sdf.parse(sdate);
    } catch (ParseException pe) {
        pe.printStackTrace();
    }

    return util_sdate;
}

我得到以下例外。

  

java.text.ParseException:Unparseable date:" 07-May-2018 12:00:00 AM"

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:6)

您定义了错误的格式。 因为您要以AM / PM格式定义日期,所以不能将小时值传递为24(HH)。

format = "dd-MMM-yyyy hh:mm:ss a"; //small case hh

以上是你应该使用的。