我有以下日期:
2011-10-07T08:51:52.006Z
现在我想把它解析成GregorianCalendar。有没有比使用子串并将它们解析为整数更简单的方法呢?
时间字符串中的Z是什么?
我尝试使用SimpleDateFormat解析它,但我找不到日期String中T的解释。
答案 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'表示时区信息。