Java SimpleDataFormat解析重置小时和分钟

Java SimpleDataFormat解析重置小时和分钟,java,android,date,time,simpledateformat,Java,Android,Date,Time,Simpledateformat,我得到一个类似于“start\u date”的字符串形式的日期:“2013-07-05T11:32:00+00:00”,需要一个日期对象,用小时和分钟表示它 如果使用格式“yyyy-MM-dd'T'HH:MM:ss+HH:MM”和sdf.parse(startDate),则在返回的日期对象中,小时和分钟会重置 但我还需要几小时和几分钟来比较日期。如何解决此问题?您需要模式“yyyy-MM-dd'T'HH:MM:ssXXX”来解析日期。(“XXX”代表时区) 在您的情况下,第二个“HH:mm”正在

我得到一个类似于
“start\u date”的字符串形式的日期:“2013-07-05T11:32:00+00:00”
,需要一个日期对象,用小时和分钟表示它

如果使用格式
“yyyy-MM-dd'T'HH:MM:ss+HH:MM”
sdf.parse(startDate)
,则在返回的日期对象中,小时和分钟会重置


但我还需要几小时和几分钟来比较日期。如何解决此问题?

您需要模式
“yyyy-MM-dd'T'HH:MM:ssXXX”
来解析日期。(
“XXX”
代表
时区


在您的情况下,第二个
“HH:mm”
正在重置值并使用最后解析的数据。

这部分就是问题所在:
+HH:mm
。告诉解析器+号后面的部分是日期的小时和分钟部分,这些值是00和00,因此得到0和0。+号处的部分起始字符串实际上是UTC时间的偏移量,其符号为
XXX
(自Java 7以来)。

谢谢,它可以工作。回答得很好,我希望我能把答案提起来:)@Luser_k干脆接受这个答案。然后它会保持在顶端,给我一些声誉。