En utilisant PHP, je souhaite convertir les horodatages UNIX en chaînes de date similaires à ceci: 2008-07-17T09:24:17Z
Comment puis-je convertir un horodatage tel que 1333699439
en 2008-07-17T09:24:17Z
?
php
unix-timestamp
Utku Dalmaz
la source
la source
gmdate()
renvoie la date / heure en GMT.date()
renverra la date / heure locale.date
etgmdate
la sortie différera en fonction de la variable TZ (au moins sur * nix)utiliser la fonction de date
date ( string $format [, int $timestamp = time() ] )
Utiliser
date('c',time())
comme format pour convertir en date ISO 8601 (ajouté dans PHP 5) -2012-04-06T12:45:47+05:30
utiliser
date("Y-m-d\TH:i:s\Z",1333699439)
pour obtenir2012-04-06T13:33:59Z
Voici quelques-uns des formats pris en charge par la fonction de date
<?php $today = date("F j, Y, g:i a"); // March 10, 2001, 5:16 pm $today = date("m.d.y"); // 03.10.01 $today = date("j, n, Y"); // 10, 3, 2001 $today = date("Ymd"); // 20010310 $today = date('h-i-s, j-m-y, it is w Day'); // 05-16-18, 10-03-01, 1631 1618 6 Satpm01 $today = date('\i\t \i\s \t\h\e jS \d\a\y.'); // it is the 10th day. $today = date("D M j G:i:s T Y"); // Sat Mar 10 17:16:18 MST 2001 $today = date('H:m:s \m \i\s\ \m\o\n\t\h'); // 17:03:18 m is month $today = date("H:i:s"); // 17:16:18 ?>
la source
En supposant que vous utilisez PHP5.3, la manière moderne de gérer les dates est via la classe native DateTime . Pour obtenir l'heure actuelle, vous pouvez simplement appeler
$currentTime = new DateTime();
Pour créer un objet DateTime à partir d'un horodatage spécifique (c'est-à-dire pas maintenant)
$currentTime = DateTime::createFromFormat( 'U', $timestamp );
Pour obtenir une chaîne formatée, vous pouvez ensuite appeler
$formattedString = $currentTime->format( 'c' );
Voir la page de manuel ici
la source
Il est très important de définir un fuseau horaire par défaut pour obtenir le résultat correct
<?php // set default timezone date_default_timezone_set('Europe/Berlin'); // timestamp $timestamp = 1307595105; // output echo date('d M Y H:i:s Z',$timestamp); echo date('c',$timestamp); ?>
Aide à la conversion en ligne: http://freeonlinetools24.com/timestamp
la source
Z
est utilisé pour indiquer qu'il s'agit d'une heure UTC, le fuseau horaire doit donc être réglé surUTC
<?php $timestamp=1486830234542; echo date('Y-m-d H:i:s', $timestamp/1000); ?>
la source
$unixtime_to_date = date('jS F Y h:i:s A (T)', $unixtime);
Cela devrait fonctionner.
la source
J'ai trouvé les informations de cette conversation si utiles que je voulais juste ajouter comment je les ai trouvées en utilisant l'horodatage de ma base de données MySQL et un peu de PHP
<?= date("Y-m-d\TH:i:s\+01:00",strtotime($column['loggedin'])) ?>
La sortie était: 2017-03-03T08: 22: 36 + 01: 00
Merci beaucoup Stewe vous répondez était un eureka pour moi.
la source
La classe DateTime prend une chaîne dans le constructeur. Si vous préfixez l'horodatage avec un @ -character, vous créez un objet DateTime avec l'horodatage. Pour le formatage, utilisez le format «c» ... un format composé ISO 8601 prédéfini.
Si vous pouvez utiliser la classe DateTime comme ceci ... définissez le bon fuseau horaire ou laissez-le de côté si vous voulez une heure UTC.
$dt = new DateTime('@1333699439'); $dt->setTimezone(new DateTimeZone('America/New_York')); echo $dt->format('c');
la source
Vous pouvez faire comme .....
$originalDate = "1585876500"; echo $newDate = date("Y-m-d h:i:sa", date($originalDate));
la source