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
?
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
?
Réponses:
Essayez gmdate
comme ceci:
<?php
$timestamp=1333699439;
echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);
?>
date
et gmdate
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
?>
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
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
Z
est utilisé pour indiquer qu'il s'agit d'une heure UTC, le fuseau horaire doit donc être réglé surUTC
$unixtime_to_date = date('jS F Y h:i:s A (T)', $unixtime);
Cela devrait fonctionner.
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 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');
Vous pouvez faire comme .....
$originalDate = "1585876500";
echo $newDate = date("Y-m-d h:i:sa", date($originalDate));
gmdate()
renvoie la date / heure en GMT.date()
renverra la date / heure locale.