在java中将字符串转换为日期(复杂字符串)

在java中将字符串转换为日期(复杂字符串),java,string,date,Java,String,Date,我正在尝试将字符串格式的日期转换为日期数据类型 我正在使用SimpleDataFormatter 但字符串中的日期格式为2012-12-24T16:45:00.000+05:30 如何使用简单sdf进行转换 这在Java中可能吗 因为我的代码是用Java编写的。使用(或DateTimeFormatter): 时区部分不适用于Java6。在Java7中是XXX,在joda time中是ZZ。你应该明确地看看joda time: 这个字符串是从哪里来的?Xml?然后使用以下方法分析字符串: 在使用

我正在尝试将字符串格式的日期转换为日期数据类型

我正在使用
SimpleDataFormatter

但字符串中的日期格式为
2012-12-24T16:45:00.000+05:30

如何使用简单sdf进行转换

这在Java中可能吗

因为我的代码是用Java编写的。

使用(或
DateTimeFormatter
):


时区部分不适用于Java6。在Java7中是
XXX
,在joda time中是
ZZ

你应该明确地看看joda time:


这个字符串是从哪里来的?Xml?然后使用以下方法分析字符串:


在使用XML时也要考虑使用JAXB。

可能的副本不能使用ISO8601编码的时间戳的SimuleDead格式。您可以阅读我对链接问题的回答以获得不同的解决方案。不,您不能使用SimpleDataFormat解析时区(+05:30)。您是对的。我不知道Java 7中添加了X格式字符。Joda time确实有规则,因为您的格式是iso,我相信您可以使用
DateTime dt=new DateTime(“2012-12-24T16:45:00.000+05:30”)(从我的头顶,我没有检查,只是记住)。
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
Date date = df.parse(str);