C # DateTime - Formato RFC 3339
Pregunta
Estoy tratando de generar cadenas de fecha compatible con RFC 3339 (es decir, 2008-03-19T00: 00: 00.0000000-04: 00 ') Sin embargo, parezco tener un problema con la compensación que es válida.Estoy usando lo siguiente:
private string GetDate(DateTime DateTime)
{
DateTime UtcDateTime = TimeZoneInfo.ConvertTimeToUtc(DateTime);
return XmlConvert.ToString(UtcDateTime, XmlDateTimeSerializationMode.Utc);
}
Pero esto me devuelve con un valor como "1977-02-03t05: 00: 00z"
También he intentado usar un formato específico, como
utcDateTime.ToString("yyyy-MM-dd'T'HH:mm:ss.fffK", DateTimeFormatInfo.InvariantInfo);
pero con los mismos resultados.
VER ESTA REFERENCIA EXISTENTE: ¿Cómo analizo y convertir el DateTime's al formato de fecha de fecha RFC 3339?
Solución
You are converting your data to UTC, so its timezone offset to UTC is 0:00. The RFC defines a convenient notation for UTC dates, the suffix Z
. So this looks like a valid data-string to me.