Formato e Conversão de Datas
21/05/2013
0
Estive realizando uma captura de informações em um equipamento Impressora, e investigando, recebi esta informação que não consigo identificar e nem como converter.
A informação via Browser é que consegui identificar.
* Dados puxados via SNMP - Está vindo como Int32
1369080775 (via SNMP) - 2013/05/20 15:12 (via Browser)
1369068011 (via SNMP) - 2013/05/20 11:39 (via Browser)
Precisaria saber que tipo de formato de data/hora é esta representação inicial via SNMP.
Alguém saberia me informar que tipo de formato é este? E como poderia converter para ter o mesmo formato do obtido via Browser?
A informação via Browser é que consegui identificar.
* Dados puxados via SNMP - Está vindo como Int32
1369080775 (via SNMP) - 2013/05/20 15:12 (via Browser)
1369068011 (via SNMP) - 2013/05/20 11:39 (via Browser)
Precisaria saber que tipo de formato de data/hora é esta representação inicial via SNMP.
Alguém saberia me informar que tipo de formato é este? E como poderia converter para ter o mesmo formato do obtido via Browser?
Marcos Ariga
Curtir tópico
+ 0
Responder
Posts
22/05/2013
Pjava
É estranho esse número. Se fosse um double, tipo(eu fiz isso), você poderia fazer:
double d = 13690.68011;
DateTime dt = DateTime.FromOADate(d);
Mas é um inteiro, aí não sei como transformar isso em um DateTime. Tem certeza que é um inteiro e não um double? Datas são números em ponto flutuante, no qual antes do ponto temos a data em si e após o ponto decimal, temos a parte hora. Verifique bem e veja se não existe um ponto decimal em algum lugar?
double d = 13690.68011;
DateTime dt = DateTime.FromOADate(d);
Mas é um inteiro, aí não sei como transformar isso em um DateTime. Tem certeza que é um inteiro e não um double? Datas são números em ponto flutuante, no qual antes do ponto temos a data em si e após o ponto decimal, temos a parte hora. Verifique bem e veja se não existe um ponto decimal em algum lugar?
Responder
23/05/2013
Joel Rodrigues
Esse valor está no formato Unix, que é um formato representado pela quantidade de segundos contados a partir da data 1/1/1970.
Para converter isso para DateTime, use essa função:
Essa função foi tirada do link: [url]http://stackoverflow.com/questions/249760/how-to-convert-unix-timestamp-to-datetime-and-vice-versa[/url]
Boa sorte.
Para converter isso para DateTime, use essa função:
public static DateTime UnixTimeStampToDateTime(double unixTimeStamp) { // Unix timestamp is seconds past epoch System.DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0); dtDateTime = dtDateTime.AddSeconds(unixTimeStamp).ToLocalTime(); return dtDateTime; }
Essa função foi tirada do link: [url]http://stackoverflow.com/questions/249760/how-to-convert-unix-timestamp-to-datetime-and-vice-versa[/url]
Boa sorte.
Responder
Clique aqui para fazer login e interagir na Comunidade :)