干扰抓具体日期我有一个XMLGregorianCalendar
,我想转换为Java Date
对象,但是当我试图隐蔽这样的:没有时区与的XMLGregorianCalendar在Java中
2013-11-19T00:00:00-00:00
我总是带有日期一天后面的价值。
Mon Nov 18 17:00:00 MST 2013
我只想要一个包含11/19/2013
的日期对象。
干扰抓具体日期我有一个XMLGregorianCalendar
,我想转换为Java Date
对象,但是当我试图隐蔽这样的:没有时区与的XMLGregorianCalendar在Java中
2013-11-19T00:00:00-00:00
我总是带有日期一天后面的价值。
Mon Nov 18 17:00:00 MST 2013
我只想要一个包含11/19/2013
的日期对象。
我只是做这个,
Date startDate = new Date(request.getStartTime().getYear(), request.getStartTime().getMonth(), request.getStartTime().getDay(), 0, 0, 0);
如上评论,你得到的结果是正确的 - 它在时间的同一时刻。午夜UTC是前一天的5点MST。也许你应该看看为什么你的时间是“-00:00”,而不是“-07:00”(MST)......但在同时,我想你可以试试这个:
public static void main(String... args) throws DatatypeConfigurationException {
XMLGregorianCalendar xcal = DatatypeFactory.newInstance().newXMLGregorianCalendar("2013-11-19T00:00:00-00:00");
Calendar c = xcal.toGregorianCalendar();
c.setTimeZone(TimeZone.getDefault());
Date d = c.getTime();
System.out.println(d);
}
打印出Tue Nov 19 00:00:00 EST 2013
,并将在一天的其他时间,而不仅仅是午夜。
有没有一些代码? –
只是头向上我没有办法修改XmlGregorianType。 –
价值并不落后一天。这是时间确切的时间...'2013-11-19T00:00:00-00:00'是UTC的午夜,这是您的时区前一天的5PM Mountain标准时间。 – dcsohl