java - 使用 DateFormat 将字符串转换为日期

标签 java date-format

我从 SOAP 消息中获取这个日期作为字符串

"2009-12-02T12:58:38.415+01:00"

大多数我能确定的主题是

使用这种格式 yyyy-MM-dd ? hh:mm:ss.????

我使用 SSS T z Z 而不是 '?' 尝试了不同的组合

DateFormat df = new SimpleDateFormat("... various formats ...");
System.out.println(df.parse("2009-12-02T12:58:38.415+01:00"));

但没有成功。

有什么想法吗?

谢谢

最佳答案

您必须更改时区部分。试试这个:

String a = "2009-12-02T12:58:38.415+01:00";
    a = a.replaceFirst(":(?=\\d+$)", "");
    final DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
    System.out.println(df.parse(a));

关于java - 使用 DateFormat 将字符串转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8490373/

相关文章:

AngularJS 更改日期格式(六月,星期三)从 Wed Jun 08 2016 05 :30:00 GMT+0530 (India Standard Time)

c# - 比较 DataView.RowFilter 中的日期?

javascript - 从 ISO 8601 时间戳创建另一个格式化日期字符串

java - org.apache.derby.jdbc.ClientDriver 在哪里?

java - 将 EditText 可见性更改为隐藏

java - 使用 spring RestTemplate 的休息客户端最佳实践

java - CalenderView 不存在 - 试图实现 DatePickerDialog

java - 无法通过 Android 测试连接到 Sql Server

java - 在 java 中构建 URL 字符串时出错

java - Grails 中日期格式的错误输出