【发布时间】:2018-02-05 23:40:08
【问题描述】:
我正在尝试获取当前日期/时间以填充到 XML 中。我正在使用代码
XMLGregorianCalendar xmlDate = null;
try {
xmlDate = DatatypeFactory.newInstance().newXMLGregorianCalendar(Calendar.YEAR, Calendar.MONTH+1, Calendar.DAY_OF_MONTH, Calendar.HOUR, Calendar.MINUTE, Calendar.SECOND, DatatypeConstants.FIELD_UNDEFINED, TimeZone.LONG).normalize();
lastUpdatetDateTime.setTextContent(xmlDate.toXMLFormat());
} catch (DatatypeConfigurationException e) {
}
但我得到的输出是 0001-03-05T10:11:13Z,据我所知,我们是 2017 年! :)
即使时间慢了 8 分钟。我在美国中部标准时间上午 11:21 运行了这个。
【问题讨论】:
-
Calendar.YEAR是一个表示年份字段的常量,而不是年份值(它的值为 1,这就是你得到年份 0001 的原因)。您应该改用年份值(例如2017或您想要的任何值)。其他字段也一样。
标签: java xml calendar xmlgregoriancalendar