此代码抛出“格式无效”或“格式错误”异常:
代码:
strDate = "21/10/2015 12:00:00 AM";
format = "dd/MM/yyyy hh:mm:ss a";
DateTime.parse(strDate, DateTimeFormat.forPattern(format)).toDate();
例外:
java.lang.IllegalArgumentException: Invalid format: "21/10/2015 12:00:00 AM"
is malformed at "AM"
怎么了?
我正在使用joda-time:2.8.1
(我已经搜索过了,我认为这是strDate的正确模式)
答案 0 :(得分:5)
AM/PM
标记的文本可能与默认语言环境的文本不同。你可以做到
Date date =
DateTime.parse(strDate, DateTimeFormat.forPattern(format).withLocale(Locale.US)).toDate();
答案 1 :(得分:3)
取决于区域设置,您可以指定区域设置和时区:
这些应该适合你:
storeA
或
DateTime.parse(strDate, DateTimeFormat.forPattern(format).withLocale(Locale.US)).withZone(DateTimeZone.UTC).toDate();