我有一个C#DateTime对象.该对象包括日期和时间.我需要将此信息传递给基于REST的服务.我的问题是,如何格式化DateTime,以便我可以通过查询字符串传递它,并将其解析回服务器端的DateTime?
DateTime startDate = GetStartDate();
string url = "http://www.mydomain.com/myservice.svc/[startDateGoesHere]
WebRequest request = HttpWebRequest.Create(url);
request.BeginGetResponse(new AsyncCallback(Service_Completed), request);
Run Code Online (Sandbox Code Playgroud)
谢谢,
Ern*_*rno 37
只需使用ToString()并传递一种格式,例如:startDate.ToString("yyyyMMddHHmmss")
并使用DateTime.ParseExact()解析它
Lee*_*unn 22
为了准确性和一致性,您可以使用:
string utcDateOut = DateTime.UtcNow.ToString("s", CultureInfo.InvariantCulture);
DateTime utcDateIn = DateTime.ParseExact(utcDateOut, "s",
CultureInfo.InvariantCulture,
DateTimeStyles.AdjustToUniversal);
Run Code Online (Sandbox Code Playgroud)
这将为您提供符合ISO 8601标准的格式,并且使用UTC将确保时区等方面没有问题.
唯一的缺点是它看起来不像简单的"yyyyMMdd"那样"好看".
我yyyyMMdd
用作格式; 不需要进行URL编码,并且易于阅读/理解.
在服务器端,您必须致电DateTime.ParseExact(dateString, "yyyyMMdd")
以获取日期.
希望这可以帮助.
归档时间: |
|
查看次数: |
54947 次 |
最近记录: |