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
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
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));