Java中ISO格式的一天中的最后几毫秒

Java中ISO格式的一天中的最后几毫秒,java,jodatime,Java,Jodatime,我需要将日期的字符串表示形式转换为日期对象。我需要一天的开始和一天的结束在datetime中精确到毫秒。以下是我到目前为止的情况: 日期格式为: yyyy-MM-dd'T'HH:mm:ss.SSS'Z' 一天的开始: 2013-05-19T00:00:00+00:00 一天结束时: 2013-05-19T23:59:59+59:59 “一天的开始”解析为ok,但“一天的结束”抛出 java.lang.IllegalArgumentException: Invalid format: "20

我需要将日期的字符串表示形式转换为日期对象。我需要一天的开始和一天的结束在datetime中精确到毫秒。以下是我到目前为止的情况:

日期格式为:

yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
一天的开始:

2013-05-19T00:00:00+00:00
一天结束时:

2013-05-19T23:59:59+59:59
“一天的开始”解析为ok,但“一天的结束”抛出

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

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

在一天的最后一毫秒,您需要:

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

一天的结束:
2013-05-19T23:59:59+00:00
这个
+00:00
是关于时区的,而不是毫秒。@johnchen902:不,这漏掉了毫秒。顺便说一句,试图确定一天的最后一刻是处理日期时间值的一种笨拙和不明智的方式。相反,学习半开放式比较,即一段时间的开始是包容性的,而结束是排他性的。 2013-05-19T23:59:59.999+00:00