C# DateTime - RFC 3339 formato
Pergunta
Eu estou tentando gerar RFC 3339 data compatível com seqüências de caracteres (ou seja,.'2008-03-19T00:00:00.0000000-04:00') no entanto me parece estar a ter um problema com o deslocamento de ser inválido.Eu estou usando o seguinte:
private string GetDate(DateTime DateTime)
{
DateTime UtcDateTime = TimeZoneInfo.ConvertTimeToUtc(DateTime);
return XmlConvert.ToString(UtcDateTime, XmlDateTimeSerializationMode.Utc);
}
mas este devolve-me com um valor como "1977-02-03T05:00:00Z"
Eu também tentaram utilizar um formato específico, como
utcDateTime.ToString("yyyy-MM-dd'T'HH:mm:ss.fffK", DateTimeFormatInfo.InvariantInfo);
Mas com os mesmos resultados.
Consulte esta referência existente: Como posso analisar e converter DateTime para o RFC 3339 formato de data e hora?
Solução
Você está convertendo os dados para UTC, de modo que o seu fuso horário deslocamento do UTC 0:00.A RFC define uma notação conveniente para UTC datas, o sufixo Z
.Assim, este parece ser um válido de dados de seqüência de caracteres para mim.