web-dev-qa-db-fra.com

Convertir l'horodatage en date/heure lisible PHP

J'ai un horodatage stocké dans une session (1299446702).

Comment puis-je convertir cela en une date/heure lisible en PHP? J'ai essayé srttotime, etc. en vain.

192
Adamski

Utilisez la fonction date() de PHP.

Exemple:

echo date('m/d/Y', 1299446702);
350
Rocket Hazmat

strtotime transforme une date en chaîne en un horodatage. Vous voulez faire le contraire, qui est date . Le format de date mysql typique est date('Y-m-d H:i:s'); Consultez la page de manuel pour connaître la signification des autres lettres.

Si vous souhaitez utiliser un horodatage (apparemment, c'est le cas), il s'agit du deuxième argument de date().

76
Explosion Pills

Je viens d'ajouter H: i: s à la réponse de Rocket pour obtenir l'heure avec la date.

echo date('m/d/Y H:i:s', 1299446702);

Sortie: 03/06/2011 16:25:02

58
Razan Paul
$timestamp = 1465298940;
$datetimeFormat = 'Y-m-d H:i:s';

$date = new \DateTime();
// If you must have use time zones
// $date = new \DateTime('now', new \DateTimeZone('Europe/Helsinki'));
$date->setTimestamp($timestamp);
echo $date->format($datetimeFormat);

résultat: 2016-06-07 14:29:00

Autres fuseaux horaires:

37
Stanislav Malomuzh

si vous utilisez php date(), vous pouvez utiliser ce code pour obtenir la date, l'heure, la seconde, etc.

$time = time()                // you have 1299446702 in time
$year = $time/31556926 % 12;  // to get year
$week = $time / 604800 % 52;  // to get weeks
$hour = $time / 3600 % 24;    // to get hours
$minute = $time / 60 % 60;    // to get minutes
$second = $time % 60;         // to get seconds
18
Rahul Dadhich

Essayez-le.

<?php
 $timestamp=1333342365;
 echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);
 ?>
11
Neil Dhakal

Je sais que c’est une vieille question, mais elle est élevée dans les résultats de recherche.

Si quelqu'un veut une conversion d'horodatage directement en un objet DateTime, il existe une simple ligne:

$timestamp = 1299446702;
$date = DateTime::createFromFormat('U', $timestamp);

Après le commentaire @sromero, le paramètre timezone (le troisième paramètre de DateTime :: createFromFormat ()) est ignoré lorsque l'horodatage unix est passé, le code ci-dessous est donc inutile.

$date = DateTime::createFromFormat('U', $timestamp, new DateTimeZone('UTC'); // not needed, 3rd parameter is ignored

Vous pouvez consulter le manuel de PHP pour DateTime :: createFromFormat pour plus d’informations et d’options.

8
Pascal

Si vous avez besoin d'un format de date et d'heure personnalisé, il est plus facile, moins sujet aux erreurs et plus lisible d'utiliser l'une des constantes constantes de format de date et d'heure intégrées

echo date(DATE_RFC822, 1368496604);
7
bishop

Vous pouvez essayer ceci:

   $mytimestamp = 1465298940;

   echo gmdate("m-d-Y", $mytimestamp);

Sortie: 

06-07-2016

6
Pratik Mehta
echo 'Le '.date('d/m/Y', 1234567890).' &agrave; '.date('H:i:s', 1234567890);
4
Red Ouane

Essaye celui-là:

echo date('m/d/Y H:i:s', 1541843467);
3
noname
$Epoch = 1483228800;
$dt = new DateTime("@$Epoch");  // convert UNIX timestamp to PHP DateTime
echo $dt->format('Y-m-d H:i:s'); // output = 2017-01-01 00:00:00

Dans les exemples ci-dessus, "r" et "Y-m-d H: i: s" sont des formats de date PHP, d'autres exemples:

Format de sortie

r ----- mer., 15 mars 2017 12:00:00 +0100 (date RFC 2822) c ----- 2017-03-15T12: 00: 00 + 01: 00 (date ISO 8601) M/j/A ----- mars/15/2017 DmY ----- 15-03-2017 Ymd H: i: s ----- 2017-03- 15:00:00

0
SM Imtiaz Hussain