online - Pasar un C#DateTime a través de la cadena de consulta
subtract days datetime c# (3)
Tengo un objeto C # DateTime. Este objeto incluye tanto la fecha como la hora. Necesito pasar esta información a un servicio basado en REST. Mi pregunta es, ¿cómo formateo el DateTime, de modo que pueda pasarlo a través de la cadena de consulta, y analizarlo de nuevo en un DateTime en el lado del servidor?
DateTime startDate = GetStartDate();
string url = "http://www.mydomain.com/myservice.svc/[startDateGoesHere]
WebRequest request = HttpWebRequest.Create(url);
request.BeginGetResponse(new AsyncCallback(Service_Completed), request);
Gracias,
Para mayor precisión y coherencia, puede usar:
string utcDateOut = DateTime.UtcNow.ToString("s", CultureInfo.InvariantCulture);
DateTime utcDateIn = DateTime.ParseExact(utcDateOut, "s",
CultureInfo.InvariantCulture,
DateTimeStyles.AdjustToUniversal);
Esto le dará un formato compatible con ISO 8601 y el uso de UTC garantizará que no haya problemas con las zonas horarias, etc.
El único inconveniente es que no se ve tan "agradable" como un simple "aaaaMMdd".
Simplemente use ToString () y pase un formato, por ejemplo: startDate.ToString ("aaaaMMddHHmmss")
Y analizarlo de nuevo utilizando DateTime.ParseExact ()
Yo usaría yyyyMMdd
como el formato; no necesita ser URL codificado y es fácil de leer / entender.
En el lado del servidor, debe llamar a DateTime.ParseExact(dateString, "yyyyMMdd")
para obtener la fecha.
Espero que esto ayude.