首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java SimpleDateFormat

java SimpleDateFormat
EN

Stack Overflow用户
提问于 2011-06-20 11:04:42
回答 5查看 63.4K关注 0票数 13

在Java中,如何解析包含不代表模式的字母的日期字符串?

代码语言:javascript
复制
"2007-11-02T14:46:03+01:00"
代码语言:javascript
复制
String date ="2007-11-02T14:46:03+01:00";
String format = "yyyy-MM-ddTHH:mm:ssz";
new SimpleDateFormat(format).parse(date);

Exception in thread "main" java.lang.IllegalArgumentException: Illegal pattern character 'T'
    at java.text.SimpleDateFormat.compile(SimpleDateFormat.java:769)
    at java.text.SimpleDateFormat.initialize(SimpleDateFormat.java:576)
    at java.text.SimpleDateFormat.(SimpleDateFormat.java:501)
    at java.text.SimpleDateFormat.(SimpleDateFormat.java:476)
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-06-20 11:23:04

您尝试解析的时间似乎在

ISO 8601格式

..。

不幸的是,它并不支持与ISO 8601相同的时区说明符。如果您希望能够正确处理ISO中指定的所有表单,最好的方法是使用

Joda时间

..。

此示例直接从

用户指南

代码语言:javascript
复制
DateTime dt = new DateTime("2004-12-13T21:39:45.618-08:00");
票数 5
EN

Stack Overflow用户

发布于 2011-06-20 11:08:43

你可以试试

代码语言:javascript
复制
String format = "yyyy-MM-dd'T'HH:mm:ssz";

参考:来自

Javadoc

文本可以用单引号(')引起来,以避免解释。

票数 21
EN

Stack Overflow用户

发布于 2021-02-17 05:19:56

不需要格式化程序

现在是发布现代答案的时候了,使用java.time的答案,现代Java date and time API。您的格式是ISO8601,java.time的类通常将最常见的ISO8601变体解析为它们的默认格式,也就是说,没有任何显式的格式化程序。

代码语言:javascript
复制
String date ="2007-11-02T14:46:03+01:00";
    OffsetDateTime dateTime = OffsetDateTime.parse(date);
    System.out.println(dateTime);

输出为:

2007-11-02T14:46:03+01:00

是的,java.time也提供了ISO8601格式

方法,在打印对象时隐式调用。

用单引号括起原义字母

要按要求回答问题,您可以用单引号将字母括起来

将它们作为文字字母,而不是格式说明符。在真实的代码中执行以下操作没有任何意义,只是为了演示:

代码语言:javascript
复制
DateTimeFormatter isoFormatter
            = DateTimeFormatter.ofPattern("uuuu-MM-dd'T'HH:mm:ssXXX");
    String date ="2007-11-02T14:46:03+01:00";
    OffsetDateTime dateTime = OffsetDateTime.parse(date, isoFormatter);

结果和之前一样。

链接

Oracle教程:日期和时间

解释如何使用java.time。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6406470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档