我正在开发一个 Java Web 基础项目,我正在使用 Web 服务来访问日期和更新日期,我的屏幕有一个日期字段,我需要使用从 Web 服务获取的数据来更新它,但是 Web 服务日期是类型XMLGregorianCalendar
。
这就是我所拥有的:
public class Testing {
/**
* @param args
*/
public static void main(String[] args) {
DateFormat df = new SimpleDateFormat("dd-MM-yyyy");
Date date = null;
try {
date = (Date)df.parse("5-5-2012");
System.out.println("Date Date" + date);
} catch (ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
GregorianCalendar gregory = new GregorianCalendar();
gregory.setTime(date);
System.out.println(""+gregory);
XMLGregorianCalendar calendar =null;
try {
calendar = DatatypeFactory.newInstance().newXMLGregorianCalendar(gregory);
} catch (DatatypeConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
calendar.setTimezone( DatatypeConstants.FIELD_UNDEFINED );
someDoa.setdate(calendar);
}
}
但结果是:
SEVERE: Servlet.service() for servlet default threw exception
javax.xml.ws.soap.SOAPFaultException: java.lang.IllegalArgumentException: Incorrect Offset :Incorrect Offset :needs a leading +/- sign