Comment convertir une date en un horodatage en PHP

Minahil Noor 3 janvier 2023
  1. Utiliser la fonction strtotime() pour convertir une date en horodatage en PHP
  2. Utiliser la fonction strptime() pour convertir une date en horodatage en PHP
  3. Utiliser la fonction getTimestamp() pour convertir une date en horodatage en PHP
  4. Utiliser la fonction format() pour convertir une date en horodatage en PHP
Comment convertir une date en un horodatage en PHP

Dans cet article, nous allons introduire des méthodes pour convertir une date en un timestamp en PHP.

  • Utilisation de la fonction strtotime()
  • Utilisation de la fonction strptime()
  • Utilisation de la fonction getTimestamp()
  • Utilisation de la fonction format()

Utiliser la fonction strtotime() pour convertir une date en horodatage en PHP

La fonction intégrée strtotime() convertit une date en un horodatage Unix. Un horodatage Unix est le nombre total de secondes calculé à partir de l’époque Unix (1er janvier 1970). La syntaxe correcte pour utiliser cette fonction est la suivante

strtotime($dateString,$timeNow);

Cette fonction a deux paramètres. $dateString est la chaîne de date / heure qui doit être conforme à PHP format valide. C’est un paramètre obligatoire. L’autre paramètre $timeNow est facultatif, c’est l’horodatage qui est utilisé pour calculer les dates relatives. L’heure actuelle now est la valeur par défaut si le deuxième paramètre est omis.

<?php
$timestamp = strtotime("23-04-2020");
echo "The timestamp is $timestamp.";
?>

La date ici est au format "d-m-Y". Nous n’avons passé qu’un seul paramètre car il convertira la date en un horodatage Unix.

Production:

The timestamp is 1587600000.

Utiliser la fonction strptime() pour convertir une date en horodatage en PHP

C’est une autre fonction pour convertir une date en un horodatage Unix. Il ne convertit pas directement la date en un horodatage. Il retourne un tableau qui indique les secondes, les minutes, les heures et plusieurs autres détails. Nous pouvons utiliser ces informations pour convertir une date en un horodatage.

strptime($dateString, $format);

Il a deux paramètres obligatoires. $dateString est la chaîne de date et $format est le format pour analyser $dateString.

<?php
$array = strptime('23-04-2020', '%d-%m-%Y');
$timestamp = mktime(0, 0, 0, $array['tm_mon']+1, $array['tm_mday'], $array['tm_year']+1900);
echo "The timestamp is $timestamp.";
?>

Production:

The timestamp is 1587600000.

Après avoir généré le tableau, la fonction mktime() convertit la date en un timestamp.

La syntaxe de la fonction mktime() est

mktime(hour, minute, second, month, day, year, is_dst)

is_dst spécifie si la date-heure est une heure d’été, mais est supprimée de PHP 7.0.0.

Attention
Nous allons ajouter 1 à $array['tm_mon'] puis utiliser la somme comme paramètre de month dans mktime, car $array['tm_mon'] commence à partir de 0, ou en d’autres termes , $array['tm_mon'] de janvier est 0.

Utiliser la fonction getTimestamp() pour convertir une date en horodatage en PHP

La méthode getTimestamp() de l’objet DateTime est une méthode simple pour convertir une date en horodatage. Il a une autre façon de représentation date_timestamp_get() qui est la représentation de style procédural.

$datetimeObject->getTimestamp(); 

Nous allons créer un objet Datetime pour appeler cette fonction. Il s’agit du style orienté objet de l’appel d’une fonction.

<?php
$date = new DateTime('2020-04-23');
$timestamp = $date->getTimestamp();
echo "The timestamp is $timestamp.";
?>

L’objet $date de la classe Datetime a appelé la méthode getTimestamp() pour convertir la date en un timestamp Unix.

Production:

The timestamp is 1587600000.

Utiliser la fonction format() pour convertir une date en horodatage en PHP

Nous pouvons également utiliser la méthode format() de DateTime pour convertir une date en un horodatage. Cette méthode a une autre représentation date_format() qui est la représentation de style procédural de la fonction format().

$datetimeObject->format("U"); 

Pour convertir une date en un horodatage, le format que nous passerons sous forme de chaîne est "U".

<?php
$dateObject = new DateTime('2020-04-23');
$timestamp = $dateObject->format("U");
echo "The timestamp is $timestamp.";
?>

L’objet $dateObject de la classe Datetime a appelé la fonction format() pour convertir la date en un horodatage Unix.

Production:

The timestamp is 1587600000.

Article connexe - PHP DateTime

Article connexe - PHP Timestamp