如何将字符串 AM/PM 日期转换为 Java 中的时间戳?

How to convert a String AM/PM date to Timestamp in Java?

我想将包含 AM/PM 格式的日期从字符串解析为时间戳。

虽然当我尝试解析这个日期时: 2017 年 12 月 31 日12:00AM

我得到一个

Exception in thread "main" java.text.ParseException: Unparseable date: "Dec 31 2017 12:00AM"
    at java.text.DateFormat.parse(Unknown Source)
    at test.DatteTest.main(DatteTest.java:16)

我的代码:

String endDate = "Dec 31 2017 12:00AM";         
SimpleDateFormat dateFormat = new SimpleDateFormat("MMM dd yyyy hh:mmaa");
Date parsedDate = dateFormat.parse(endDate);
Timestamp timestamp = new Timestamp(parsedDate.getTime());
System.out.println(endDate);
System.out.println(timestamp);

我在 simpledateformat 中做错了什么吗? "MMM dd yyyy hh:mmaa"?

输入的日期包含一个英文单词。您必须提供语言环境:

SimpleDateFormat dateFormat = new SimpleDateFormat("MMM dd yyyy hh:mmaa", Locale.ENGLISH);