Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将字符串日期转换为日期对象Java_Java_Date - Fatal编程技术网

将字符串日期转换为日期对象Java

将字符串日期转换为日期对象Java,java,date,Java,Date,我正在尝试将字符串date:“Saturday May 19”转换为date对象。我看了其他示例,并尝试使用SimpleDataFormat。我目前的方法是: DateFormat format = new SimpleDateFormat("EE/dd/MM" , Locale.ENGLISH); 但是,我在尝试格式化时遇到了这个错误 java.text.ParseException: Unparseable date: "Saturday 19th May"

我正在尝试将字符串date:“Saturday May 19”转换为date对象。我看了其他示例,并尝试使用SimpleDataFormat。我目前的方法是:

     DateFormat format = new SimpleDateFormat("EE/dd/MM" , Locale.ENGLISH);
但是,我在尝试格式化时遇到了这个错误

     java.text.ParseException: Unparseable date: "Saturday 19th May" 
           (at offset 8)
有人知道格式化这个字符串的正确方法吗


谢谢

您可以尝试以下方法:

String str = "Saturday 17th March 2018";
DateFormat format = new SimpleDateFormat("EEE dd MMM yyyy" , Locale.ENGLISH);

System.out.println(format.parse(str.replaceAll("(?<=\\d)(st|nd|rd|th)", "")));

您的日期字符串是否与EE/dd/MM格式匹配?除了字符串格式与解析格式不匹配之外,您如何期望像5月19日星期六这样的日期在任何年份内都能被解析?@JoeC No,我现在已经改了,但仍然不太明白第19个可能是什么绊倒了它,因为我不相信dd处理了它。如果您在5月19日(星期六)声明,它可能会起作用。仅供参考,麻烦的旧日期时间类,例如,和java.text.simpleDataFormat,现在已被java 8和java 9中内置的类所取代。看,是的,我真的这么做了,把你的答案标记为正确的,因为它几乎是一样的。谢谢