C # DateTime - RFC 3339 Formato
Domanda
Sto cercando di generare stringhe data conformi a RFC 3339 (cioè "2008-03-19T00: 00: 00.0000000-04: 00 ') Tuttavia sembro avere un problema con l'offset non è valido.Sto usando quanto segue:
private string GetDate(DateTime DateTime)
{
DateTime UtcDateTime = TimeZoneInfo.ConvertTimeToUtc(DateTime);
return XmlConvert.ToString(UtcDateTime, XmlDateTimeSerializationMode.Utc);
}
.
Ma questo mi restituisce con un valore come "1977-02-03T05: 00: 00Z"
Ho anche tentato di utilizzare un formato specifico come
.
utcDateTime.ToString("yyyy-MM-dd'T'HH:mm:ss.fffK", DateTimeFormatInfo.InvariantInfo);
ma con gli stessi risultati.
.
Vedere questo riferimento esistente: Come analizzo e convertiti da DateTime nel formato di data RFC 3339?
Soluzione
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.