如何使用 SimpleDateFormat 格式化字符串“2016-03-23T11:23:11.305+01:00”
How to format the String "2016-03-23T11:23:11.305+01:00" with SimpleDateFormat
如何将字符串 "2016-03-23T11:23:11.305+01:00"
转换为日期?
我已经尝试了以下方法,但我得到了一个 ParseException。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
仅使用 1 Z
:SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
的 javadoc
z = Time zone General time zone Pacific Standard Time; PST; GMT-08:00
Z = Time zone RFC 822 time zone -0800
X = Time zone ISO 8601 time zone -08; -0800; -08:00
Pattern letters are usually repeated, as their number determines the exact presentation:
您应该使用 X
定义 SimpleDateFormat
作为时区,以将其表示为 ISO 8601
。
String d = "2016-03-23T11:23:11.305+01:00";
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
Date da = df.parse(d);
也取自本文档中的示例
"yyyy-MM-dd'T'HH:mm:ss.SSSXXX" = 2001-07-04T12:08:56.235-07:00
如何将字符串 "2016-03-23T11:23:11.305+01:00"
转换为日期?
我已经尝试了以下方法,但我得到了一个 ParseException。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
仅使用 1 Z
:SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
z = Time zone General time zone Pacific Standard Time; PST; GMT-08:00
Z = Time zone RFC 822 time zone -0800
X = Time zone ISO 8601 time zone -08; -0800; -08:00 Pattern letters are usually repeated, as their number determines the exact presentation:
您应该使用 X
定义 SimpleDateFormat
作为时区,以将其表示为 ISO 8601
。
String d = "2016-03-23T11:23:11.305+01:00";
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
Date da = df.parse(d);
也取自本文档中的示例
"yyyy-MM-dd'T'HH:mm:ss.SSSXXX" = 2001-07-04T12:08:56.235-07:00