我正在尝试格式化以下日期
Thu, 15 Jan 2015, 9:56 AM
使用以下方法:
public String parse(String oldDate){
final String OLD_FORMAT = "EEE, d MMM yyyy, HH:mm:ss zz";
final String NEW_FORMAT = "yyyy/MM/dd";
// August 12, 2010
String oldDateString = oldDate;
String newDateString;
DateTimeFormatter formatterOld = DateTimeFormat.forPattern(OLD_FORMAT);
DateTimeFormatter formatterNew = DateTimeFormat.forPattern(NEW_FORMAT);
LocalDate localDate = formatterOld.parseLocalDate( oldDateString );
return newDateString = formatterNew.print( localDate );
}
我得到一个
Caused by: java.lang.IllegalArgumentException: Invalid format: "Thu, 15 Jan 2015, 9:56 AM" is malformed at " AM"
我如何用那个日期格式正确地表示am/pm?我试着用z,但得到相同的和改变为zz,但在。am/pm的正确表示是什么?
我也用“hh:mm a”检查了一下,但这似乎还是有帮助的。
1条答案
按热度按时间5lwkijsr1#
Z
以及z
是时区的-你想吗a
这是半天的格式代码。格式化代码在javadoc中描述
org.joda.time.format.DateTimeFormat
下面的代码适用于我(运行在带有joda2.6的java8jre上)