4

我得到一个像字符串一样"start_date": "2013-07-05T11:32:00+00:00"的日期,并且需要一个日期对象,它用小时和分钟表示它。

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

但我还需要小时和分钟来进行日期比较。我该如何解决这个问题?

4

2 回答 2

12

您需要该模式"yyyy-MM-dd'T'HH:mm:ssXXX"来解析您的日期。("XXX"代表timezone

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

于 2013-07-05T12:00:11.080 回答
2

这部分是问题:+HH:mm。你告诉解析器 + 号后面的部分是日期的小时和分钟部分,这些值是 00 和 00,所以你得到 0 和 0 作为结果。从 + 号开始的部分实际上是 UTC 时间的偏移量,其符号是XXX(从 Java 7 开始)。

于 2013-07-05T12:02:19.023 回答