Existe uma API para converter de um formato “YYYYMMDDHHMMSS.UUUUUU-TZO” para C # DateTime?

StackOverflow https://stackoverflow.com/questions/928051

Pergunta

Exemplo: "20080807144334,410187-180" (.. -180 meios GMT menos três horas do Rio de Janeiro, neste caso)

Esse formato da cadeia é devolvido quando eu consulta vezes criação de arquivo / alterar / acesso via WMI (que não é totalmente de trabalho; ver aqui ). Acho que eu poderia analisá-lo da maneira idiota, extraindo ano, mês, etc. a partir das posições de cordas. Mas eu gostaria de não reinventar a roda. construtores de System.DateTime não lidar com esse formato. Devo ir em frente e fazer isso da maneira idiota ou há algo melhor?

Foi útil?

Solução

Você deve ser capaz de usar DateTime.ParseExact ou .TryParseExact para dar-lhe o formato específico para uso ao analisar.

No entanto, eu não acho que você pode obtê-lo para ler o fuso horário em que formato (embora eu não posso realmente descobrir como obtê-lo para ler um fuso horário em qualquer formato).

O resto ficaria assim:

DateTime.ParseExact("20080807144334.410187", "yyyyMMddHHmmss.ffffff", System.Globalization.CultureInfo.InvariantCulture)

Outras dicas

Você deve dar uma olhada no método DateTime.TryParseExact. Ele vai deixar você passar em seu formato que você está convertendo de.

http://msdn.microsoft.com/en -us / library / system.datetime.tryparseexact.aspx

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top