C#使用日历参数调用Java web服务

C#使用日历参数调用Java web服务,c#,java,C#,Java,我正在编写一个C#桌面客户端,它需要调用用Java编写的web服务。其中两个参数的类型为Calendar。我很难将这两个日期传递给web服务 我尝试过以下方法,但都没有成功 DateTime startDate = DateTime.Now; DateTime endDate = startDate.AddDays(2); DateTime startDate = new DateTime(2012, 3, 1, 1, 1, 1, DateTimeKind.Unspecified); Date

我正在编写一个C#桌面客户端,它需要调用用Java编写的web服务。其中两个参数的类型为Calendar。我很难将这两个日期传递给web服务

我尝试过以下方法,但都没有成功

DateTime startDate = DateTime.Now;
DateTime endDate = startDate.AddDays(2);

DateTime startDate = new DateTime(2012, 3, 1, 1, 1, 1, DateTimeKind.Unspecified);
DateTime endDate = new DateTime(2012, 4, 1, 1, 1, 1, DateTimeKind.Unspecified);

DateTime startDate = new DateTime(2012, 3, 1, 1, 1, 1, DateTimeKind.Utc);
DateTime endDate = new DateTime(2012, 4, 1, 1, 1, 1, DateTimeKind.Utc);

DateTime startDate = new DateTime(2000, 1, 1, new System.Globalization.GregorianCalendar());
DateTime endDate = new DateTime(2012, 1, 1, new System.Globalization.GregorianCalendar());
我使用以下代码编写了一个测试Java客户机,它可以正常工作

GregorianCalendar calStartDate = new GregorianCalendar();
GregorianCalendar calEndDate = new GregorianCalendar();

calStartDate.set(2011, 5, 21);
calEndDate.set(2012, 5, 24);

XMLGregorianCalendar startDate = dtf.newXMLGregorianCalendar(calStartDate);
XMLGregorianCalendar endDate = dtf.newXMLGregorianCalendar(calEndDate);
关于如何从C#传递日历参数,有什么建议吗


谢谢

到目前为止,最简单、最方便的方法是将日期转换为包含时区的字符串,如ISO8601格式

警告:SimpleDataFormat java类不是线程安全的。两种方法中的任何一种都会让你受益匪浅

然后您只需调用print和parse方法


如果您使用的是某种数据绑定方法,请提及。

到目前为止,最简单、最方便的方法是将日期转换为包含时区的字符串,如ISO8601格式

警告:SimpleDataFormat java类不是线程安全的。两种方法中的任何一种都会让你受益匪浅

然后您只需调用print和parse方法


如果您正在使用某种数据绑定方法,请提及。

既然您正在调用一个Web服务,您是否尝试过使用JavaScriptSerializer以json序列化日期?XMLGregorianCalendar看起来像什么?既然您正在调用一个Web服务,你试过用JavaScriptSerializer在json中序列化日期吗?
XMLGregorianCalendar
是什么样子的?我同意,我将切换到字符串。谢谢你们的帮助!我同意,我将换成字符串。谢谢你们的帮助!