簡體   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