19 votes

Comment convertir une date YYYY-MM-DD en époque en PHP

Comme indiqué dans le titre : comment convertir une date sous forme de chaîne (YYYY-MM-DD) en époque (secondes depuis le 01-01-1970) en PHP

32voto

Nick Audenaerde Points 113

Peut-être que cela répond à votre question

http://www.epochconverter.com/programming/functions-php.php

Voici le contenu du lien :

Il existe de nombreuses options :

  1. Utilisation de 'strtotime' :

strtotime analyse la plupart des textes de date en anglais en temps d'époque/Unix.

echo strtotime("15 novembre 2012");
// ... ou ...
echo strtotime("2012/11/15");
// ... ou ...
echo strtotime("+10 jours"); // 10 jours à partir de maintenant

Il est important de vérifier si la conversion a réussi :

// PHP 5.1.0 ou supérieur, versions antérieures vérifient : strtotime($string)) === -1
if ((strtotime("ce n'est pas une date")) === false) {
   echo 'échec';
 }

2. Utilisation de la classe DateTime :

La classe DateTime de PHP 5 est plus agréable à utiliser :

// orienté objet
$date = new DateTime('01/15/2010'); // format : MM/JJ/AAAA
echo $date->format('U'); 

// ou procédural
$date = date_create('01/15/2010'); 
echo date_format($date, 'U');

Le format de date 'U' convertit la date en un timestamp UNIX.

  1. Utilisation de 'mktime' :

Cette version est un peu plus contraignante mais fonctionne sur n'importe quelle version de PHP.

// PHP 5.1+
date_default_timezone_set('UTC');  // optionnel 
mktime ( $heure, $minute, $seconde, $mois, $jour, $année );

// avant PHP 5.1
mktime ( $heure, $minute, $seconde, $mois, $jour, $année, $is_dst );
// $is_dst : 1 = heure d'été (DST), 0 = pas d'heure d'été, -1 (par défaut) = auto

// exemple : générer une époque pour le 1er janvier 2000 (toutes les versions de PHP)
echo mktime(0, 0, 0, 1, 1, 2000);

11voto

Prasanth Bendra Points 9618

Essayer ceci :

$date  = '2013-03-13';

$dt   = new DateTime($date);
echo $dt->getTimestamp();

Réf : http://www.php.net/manual/en/datetime.gettimestamp.php

2voto

Utilisez strtotime() il vous fournit un horodatage Unix à partir du 01-01-1970

2voto

Michal M Points 4631

Utilisez la fonction strtotime() :

strtotime('2013-03-13');

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X