Apache Axis – 序列化为0001-01-01T00:00:00.000Z的日历实例
我正在使用Apache Axis与用.Net编写的Web服务进行通信。
当WS遇到DateTime.MinDate
(即“0001-01-01”)时,其中一个函数具有特殊处理。 现在,我正在尝试将此特殊值发送到WS,但似乎没有与Java中的DateTime.MinDate
等效。
您可能知道,Axis将xsd:dateTime
包装到Calendar
对象中,所以我尝试发送new GregorianCalendar(1 ,1 ,1);
但这并没有成功。 我尝试了calendar.setTime(new Date(0))
,我尝试了更多组合,但似乎没有任何序列化
0001-01-01T00:00:00.000Z
这就是我需要的。 有谁知道如何实现这一目标?
以下将创建一个GregorianCalendar对象,该对象将序列化为DateTime.MinValue
的等效项。
GregorianCalendar gc=new GregorianCalendar(1,0,1); gc.setTimeZone(TimeZone.getTimeZone("GMT-0"));
请注意以下事项:
- month参数基于零,而不是基于1。
- GregorianCalendar默认为本地时区,因此需要手动调整时区。