Comment convertir la date et l'heure en chaîne de caractères en PHP

Ralfh Bryan Perez 30 janvier 2023
  1. Utilisation de la méthode format() dans la classe DateTime
  2. Utilisation de la méthode date_format()
  3. En utilisant les formats prédéfinis dans date_d.php, on peut
  4. Utilisation de list() pour convertir DateTime en String en PHP
Comment convertir la date et l'heure en chaîne de caractères en PHP

La conversion de DateTime en chaîne de caractères en PHP est assez facile, il y a des fonctions utiles disponibles qui sont prévues à cet effet comme format() de la classe DateTime, date_format(), en utilisant les formats prédéfinis ou en utilisant list().

Utilisation de la méthode format() dans la classe DateTime

PHP possède une classe “DateTime” pour la gestion de la date et de l’heure. Elle est disponible depuis la version 5.2 de PHP.

Quelques raisons pour lesquelles utiliser DateTime plutôt que les fonctions traditionnelles de PHP pour gérer les dates:

  • Il est capable de traiter plus de formats de chaînes de caractères
  • C’est plus facile que d’autres fonctions.
  • L’interface encapsule la logique de l’arrière-plan avec une interface propre à utiliser.

Une des méthodes utiles de la classe DateTime est le format(), elle retourne une chaîne de date formatée selon le format donné.

Exemple:

$theDate    = new DateTime('2020-03-08');
echo $stringDate = $theDate->format('Y-m-d H:i:s');

//output: 2020-03-08 00:00:00

La $stringDate est une chaîne de caractères au format fourni.

Note : La classe DateTime->format() ne supporte pas vraiment les microsecondes.

Utilisation de la méthode date_format()

La méthode date_format() renverra un nouvel objet DateTime, puis formatera la date selon le format donné.

Exemple:

$date = date_create_from_format('d M, Y', '08 Mar, 2020');
echo $newFormat = date_format($date,"Y/m/d H:i:s");

//output: 2020/03/08 00:00:00

La méthode date_create_from_format() est utilisée pour analyser une chaîne de temps selon le format fourni. Cette fonction accepte trois paramètres qui sont le format, le time et le timezone (optionnel).

Dans l’exemple ci-dessus, la fonction date_format() traite la date créée pour la convertir en une chaîne de caractères.

En utilisant les formats prédéfinis dans date_d.php, on peut

Liste des formats prédéfinis:

define ('DATE_ATOM', "Y-m-d\TH:i:sP");
define ('DATE_COOKIE', "l, d-M-y H:i:s T");
define ('DATE_ISO8601', "Y-m-d\TH:i:sO");
define ('DATE_RFC822', "D, d M y H:i:s O");
define ('DATE_RFC850', "l, d-M-y H:i:s T");
define ('DATE_RFC1036', "D, d M y H:i:s O");
define ('DATE_RFC1123', "D, d M Y H:i:s O");
define ('DATE_RFC2822', "D, d M Y H:i:s O");
define ('DATE_RFC3339', "Y-m-d\TH:i:sP");
define ('DATE_RSS', "D, d M Y H:i:s O");
define ('DATE_W3C', "Y-m-d\TH:i:sP");

Exemple d’utilisation:

$dateFormat = new DateTime(); // this will return current date
echo $stringDate = $date->format(DATE_ATOM);

//output: 2020-03-08T12:54:56+01:00

L’exemple ci-dessus utilise l’un des formats prédéfinis, il n’est donc pas nécessaire de le fournir.

Utilisation de list() pour convertir DateTime en String en PHP

La fonction list() peut être utilisée pour attribuer des valeurs à une liste de variables en une seule opération mais ne fonctionne qu’avec des tableaux numériques. Lorsque le tableau est affecté à plusieurs valeurs, le premier élément du tableau sera affecté à la première variable, et ainsi de suite, jusqu’à la fin du nombre de variables. Cependant, le nombre de variables ne peut pas dépasser la longueur du tableau numérique.

Exemple:

$date = explode("/",date('d/m/Y/h/i/s')
list($day,$month,$year,$hour,$min,$sec) = $date);
echo $month.'/'.$day.'/'.$year.' '.$hour.':'.$min.':'.$sec;

//output: 03/08/2020 02:01:06

En utilisant la fonction list(), vous pouvez facilement utiliser $day, $month, $year, $hour, $min, et $sec comme variable.

Article connexe - PHP Date

Article connexe - PHP DateTime

Article connexe - PHP String