web-dev-qa-db-fra.com

Comment convertir un horodatage Unix à 13 chiffres en date et heure?

J'ai cet horodatage à 13 chiffres 1443852054000 que je veux convertir en date et heure mais ne réussis pas. J'ai essayé ces codes:

echo date('Y-m-d h:i:s',$item->timestamp); 

ne fonctionne pas pour moi et aussi

$unix_time = date('Ymdhis', strtotime($datetime ));

et ça :

$item = strtotime($txn_row['appoint_date']); 
<?php echo date("Y-m-d H:i:s", $time); ?>

que dois-je utiliser?

Cet horodatage est en millisecondes, pas en secondes. Divisez-le par 1000 et utilisez la fonction date:

echo date('Y-m-d h:i:s', $item->timestamp / 1000);
// e.g
echo date('Y-m-d h:i:s',1443852054000/1000);
// shows 2015-10-03 02:00:54
26
u_mulder

Vous pouvez y parvenir avec DateTime :: createFromFormat .

Parce que vous avez un timestamp avec 13 digits, vous devrez le diviser par 1000, afin de l'utiliser avec DateTime, c'est-à-dire:

$ts = 1443852054000 / 1000; // we're basically removing the last 3 zeros
$date = DateTime::createFromFormat("U", $ts)->format("Y-m-d h:i:s");
echo $date;
//2015-10-03 06:00:54

[~ # ~] démo [~ # ~]

http://sandbox.onlinephpfunctions.com/code/d0d01718e0fc02574b401e798aaa201137658acb


Vous voudrez peut-être définir le fuseau horaire par défaut pour éviter tout avertissement

date_default_timezone_set('Europe/Lisbon');

[~ # ~] note [~ # ~] :

En savoir plus sur php la date et l'heure à php dans le bon sens

1
Pedro Lobito

Un horodatage à 13 chiffres est utilisé en JavaScript pour représenter le temps en millisecondes. En PHP 10 un horodatage numérique est utilisé pour représenter le temps en secondes. Divisez donc par 1000 et arrondissez pour obtenir 10 chiffres.

$timestamp = 1443852054000;
echo date('Y-m-d h:i:s', floor($timestamp / 1000));
0
santhosh