Puxando um registro de data e hora de um feed XML com PHP, mas parece ser para muitos dígitos

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

  •  21-09-2019
  •  | 
  •  

Pergunta

Estou puxando um registro de data e hora de um feed e ele fornece 12 dígitos (1269088723811). Quando eu o converto, sai como

1901-12-13 20:45:52,

Mas se eu colocar o registro de data e hora em http://www.epochconverter.com/ sai como

Sáb, 20 de março de 2010 12:38:43 GMT, que é a hora correta.

epochconverter.com menciona que talvez em milissegundos, então eu alterei o script para cuidar dele usando

$mil = $timestamp;
$seconds = $mil / 1000;
$date = date('Y-m-d H:i:s', date($seconds));

Mas ainda converte a data errada, 1970-01-25 20:31:23.

O que estou fazendo errado?

Foi útil?

Solução

Isso parece ser um aparado microtime () resultado. A única coisa que você parece estar fazendo de errado é usar date($seconds) em vez do cru $seconds. Tentar

$date = date('Y-m-d H:i:s', $seconds); 

Outras dicas

$xml = new SimpleXMLElement('<foo><a>1269088723811</a></foo>');
echo date('Y-m-d H:i:s', (float)$xml->a / 1000);

e

$xml = new SimpleXMLElement('<foo><a>1269088723811</a></foo>');
$ts = substr($xml->a, 0, -3);
echo date('Y-m-d H:i:s', $ts);

ambos impressos 2010-03-20 07:38:43 (na minha máquina Europa/Berlim)

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