繁体   English   中英

C#使用Calendar参数调用Java Web服务

[英]C# calling a Java web service with a Calendar parameter

我正在编写一个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#传递Calendar参数有任何建议吗?

谢谢!

到目前为止,最简单,最可移植的操作是将日期转换为包含时区的字符串,例如ISO8601格式。

一个警告:SimpleDateFormat Java类不是线程安全的。 您无论使用哪种方式都更好

http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html

要么

http://commons.apache.org/lang/api-2.5/org/apache/commons/lang/time/FastDateFormat.html

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM