将字符串格式的日期解析为GregorianCalendar的最简单方法

时间:2011-11-27 00:23:55

标签: java time

我有以下日期:

2011-10-07T08:51:52.006Z

现在我想把它解析成GregorianCalendar。有没有比使用子串并将它们解析为整数更简单的方法呢?

时间字符串中的Z是什么?

我尝试使用SimpleDateFormat解析它,但我找不到日期String中T的解释。

3 个答案:

答案 0 :(得分:6)

DateFormat format = new SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" )
Date       date = format.parse( "2011-10-07T08:51:52.006Z" );
Calendar   calendar = new GregorianCalendar();

calendar.setTime( date );

答案 1 :(得分:2)

我会看看DateTimeFormatter

DateTimeFormatter formatter =
    DateTimeFormat.forPattern("<custom_pattern>").withOffsetParsed();
DateTime dateTime = formatter.parseDateTime("<your_input>");
GregorianCalendar cal = dateTime.toGregorianCalendar();

字符串中的T充当日期和时间之间的分隔符,Z是ISO-8601 format的时区信息。

答案 2 :(得分:1)

您可以使用SimpleDateFormatter来解析字符串。请阅读上述类的javadoc以了解格式字符串是什么。 'Z'表示时区信息。