关于java:Apache Axis – 序列化为0001-01-01T00:00:00.000Z的日历实例

Apache Axis - Calendar instance that gets serialized to 0001-01-01T00:00:00.000Z

我正在使用ApacheAxis与用.NET编写的Web服务进行通信。

当遇到DateTime.MinDate(即"0001-01-01")时,ws中的一个函数具有特殊处理。现在,我试图把这个特殊的值发送给WS,但是在Java中似乎没有等价于EDCOX1的0Ω。

正如你可能知道的,axis把xsd:dateTime包进Calendar物体,所以我试着发送new GregorianCalendar(1 ,1 ,1);,但这没有起作用。我试过calendar.setTime(new Date(0)),我试过很多种组合,但似乎没有一个系列化为

埃多克斯1〔6〕

这就是我需要的。有人知道这是怎么做到的吗?


下面将创建一个GregorianCalendar对象,该对象将序列化为等效的以东克斯1〔0〕为例。

1
2
GregorianCalendar gc=new GregorianCalendar(1,0,1);
gc.setTimeZone(TimeZone.getTimeZone("GMT-0"));

注意以下事项:

  • Month参数基于零,而不是基于1。
  • 公历日历默认为本地时区,因此时区需要手动调节。