web-dev-qa-db-fra.com

Convertir l'heure de l'époque en date PHP

J'utilise une API en ce moment et elle fournit un epochTime. J'ai tout essayé pour convertir cette époque à ce jour, mais cela ne semble pas fonctionner, y compris $Epoch_time / 1000, Puis en utilisant la fonction date() pour la convertir.

Le temps Epoch ressemble à ceci 1353430853299. Y a-t-il un moyen de le faire? strtotime() ne fonctionnait pas non plus.

Il semble que toutes les autres lectures sur l'époque d'Epoch portent sur le changement de date en époque, mais je cherche à inverser la tendance. Toute aide est grandement appréciée.

34
user1701252

Corrigé en utilisant substr ($ Epoch, 0, 10), puis utilisé la fonction date pour quiconque se posait des questions sur les heures Epoch à 13 chiffres.

Voici un exemple de code:

echo date("Y-m-d H:i:s", substr("1477020641000", 0, 10));
// Result: 2016-10-20 20:30:41
40
user1701252

Il existe plusieurs façons de procéder.

Tout d'abord, ce que vous avez là est un temps Epoque Unix. (1/1/1970), cela rend tout BEAUCOUP plus facile.

En PHP, essayez

$Epoch = 1344988800;
$dt = new DateTime("@$Epoch");
echo $dt->format('Y-m-d H:i:s');

Pour afficher votre date

OR

Si vous voulez la longue date RFC232:

echo date('r', $Epoch);
28
Jon
$Epoch = 1344988800;
$dt = new DateTime("@$Epoch"); // convert UNIX timestamp to PHP DateTime
echo $dt->format('Y-m-d H:i:s'); // output = 2012-08-15 00:00:00 

Plus: http://www.epochconverter.com/programming/functions-php.php

14
twodayslate
<?php
$Epoch = '1353429562';

date_default_timezone_set('GMT');
echo date('Y-m-d H:i:s', $Epoch);
11
Rawkode

FYI, l'API qui envoie des données JSON utilise Epoch avec des millisecondes pour être compatible avec les navigateurs Web.

Je ne sais pas pourquoi PHP doit supprimer les millisecondes, car c'est la norme pour tous les navigateurs Web.

Donc, vous pouvez utiliser le 10 de gauche ou/1000 (il est préférable de diviser par 1000 si vous ne voulez pas avoir de problèmes le 20 novembre 2286 !!!)

2
foxontherock