如何在java中将复杂的字符串解析为Date

how to parse a complex string into Date in java

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
how to parse date in java?
How do I convert 2010-12-15T16:26:49.841-08:00 to a GregorianCalendar in Java?

示例字符串:

1
2009-06-04T11:17:14-07:00

我不知道如何为这个构造格式化程序字符串。 有人可以帮忙吗? 谢谢!:)


对我来说,这似乎是一个完全正常的ISO-8601日期/时间。 您应该能够使用内置API使用SimpleDateFormat解析它,或使用模式"yyyy-MM-dd'T'HH:mm:ssX"(SimpleDateFormat)或"yyyy-MM-dd'T'HH:mm:ssZ"(DateTimeFormatter)在Joda Time中解析DateTimeFormatter。 请注意,"X"格式符号仅在Java 7中引入; 如果您需要在Java 6或更早版本中执行此操作,则可能需要在偏移文本中删除冒号(因此-07:00将变为-0700)。

就个人而言,无论如何我建议你使用Joda Time - 它绕过了Java版本问题,而且它通常是更好的API。