Java中ISO格式的最后一毫秒

时间:2013-05-19 10:29:01

标签: java jodatime

我有需要转换为Date对象的日期的字符串表示。我需要当天的开始和日期时间的结束,直到毫秒。以下是我到目前为止的情况:

日期格式为:

yyyy-MM-dd'T'HH:mm:ss.SSS'Z'

一天的开始:

2013-05-19T00:00:00+00:00

一天结束:

2013-05-19T23:59:59+59:59

'一天的开始'解析好,但'结束一天'抛出

java.lang.IllegalArgumentException: Invalid format: "2013-05-19T23:59:59+59:59" is malformed at "59:59"

1 个答案:

答案 0 :(得分:2)

+之后的位不是毫秒。 +引入了时区偏移量。 +00:00是GMT(格林威治标准时间)。 +01:00是一小时后(CET;中欧时间)。

在当天最后一毫秒,你想要:

2013-05-19T23:59:59.999
Milliseconds -------^^^

请注意,.之前是999,因为我们真正写的是59.999秒。

如果您愿意,可以在其上添加时区指示符,例如:

2013-05-19T23:59:59.999+00:00

More about ISO-8601