我正在尝试以特定的自定义格式解析日期。
WEDNESDAY 25th JAN 2012 - 12:44:07 PM
像这样..
我为此创建了一个 SimpleDateFormat
..
SimpleDateFormat sdf = new SimpleDateFormat("EEEE DD MMM YYYY - HH:MM:SS aa" );
问题是这些天的字面意思。它会在 25 日、23 日、02 日到来。我对这件事感到异常(exception)...
帮助解决这个问题。
最佳答案
您可以使用这样的正则表达式删除当天的文字。
String dateString = "WEDNESDAY 25th JAN 2012 - 12:44:07 PM";
SimpleDateFormat format = new SimpleDateFormat("EEEEEEE dd MMM yyyy - HH:mm:ss aa", new Locale("EN"));
dateString = dateString.replaceAll("(.*[0-9]{1,2})(st|nd|rd|th)(.*)", "$1$3");
Date parsedDate = format.parse(dateString);
System.out.println(parsedDate);
(忽略语言环境,我来自其他地方:))
关于java - 在 java 中解析自定义数据格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9101573/