我正在尝试使用Joda-Time将我的应用程序用户输入的日期转换为ISO 8601格式,所以我使用以下代码但是我收到错误:
String oldDate = "05/05/2013";
DateTime oldD = DateTime.parse(oldDate);
DateTimeFormatter OldDFmt = ISODateTimeFormat.dateTime();
String str = OldDFmt.print(oldD);
System.out.println(str);
Run Code Online (Sandbox Code Playgroud)
但我总是得到错误:
org.springframework.web.util.NestedServletException:请求处理失败; 嵌套异常是java.lang.IllegalArgumentException:格式无效:"05/05/2013"格式错误为"/ 05/2013"
有人可以帮忙告诉我这里做错了什么吗?谢谢.
有人可以帮忙告诉我这里做错了什么吗?
这里发生错误.
DateTime oldD = DateTime.parse(oldDate);
Run Code Online (Sandbox Code Playgroud)
该DateTime.parse(String)方法String使用a 解析您的参数ISODateTimeFormat.dateTimeParser().
datetime = time | date-opt-time
time = 'T' time-element [offset]
date-opt-time = date-element ['T' [time-element] [offset]]
date-element = std-date-element | ord-date-element | week-date-element
std-date-element = yyyy ['-' MM ['-' dd]]
ord-date-element = yyyy ['-' DDD]
week-date-element = xxxx '-W' ww ['-' e]
time-element = HH [minute-element] | [fraction]
minute-element = ':' mm [second-element] | [fraction]
second-element = ':' ss [fraction]
fraction = ('.' | ',') digit+
offset = 'Z' | (('+' | '-') HH [':' mm [':' ss [('.' | ',') SSS]]])
Run Code Online (Sandbox Code Playgroud)
你的
String oldDate = "05/05/2013";
Run Code Online (Sandbox Code Playgroud)
不是.
您需要String使用具有相应格式的解析器来解析您的日期,就像Paul Hicks所建议的那样.然后,您可以将创建的格式设置DateTime为ISO标准格式.
| 归档时间: |
|
| 查看次数: |
3625 次 |
| 最近记录: |