【发布时间】:2013-04-18 17:26:26
【问题描述】:
我想将我的日期 "2013-03-04T23:00:00" 转换为 "yyyy-MM-dd'T'HH:mm:ss.SSSZ",但我不断收到 "2013-03-04'T'23:00:00.000+0000"。有什么帮助吗?
item.getEnd() 是一个 XMLGregorianCalendar。
Calendar calendar = item.getEnd().toGregorianCalendar();
calendar.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = calendar.getTime();
DateTime iso8601 = new DateTime(calendar);
iso8601.toString("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
【问题讨论】:
-
有什么问题?那个millis是
000? -
ISO8601 格式不需要任何特定的精度。省略小数,甚至完全省略秒字段,都是完全有效的。
-
我同意,但我正在使用的 API 似乎只喜欢这种格式。
-
出于好奇,需要特定精度的 API 是什么?我记得不久前读过一篇关于某些网络浏览器的帖子,该浏览器需要零位或三位小数的精度,但在两位上却失败了。我现在找不到那个帖子……你要喂它的是一个 JavaScript API 吗?还是别的什么?
-
我相信这是一个java后端,不能肯定。
标签: java date timezone jodatime iso8601