[英]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.