Aller au contenu

date()

Introduction

Les fonctions de date et d’heure sont essentielles dans tout langage de programmation, y compris PHP. Dans cet article, nous allons explorer les différentes fonctions de date et d’heure en PHP et voir comment les utiliser. Nous couvrirons les bases du travail avec les dates, notamment le formatage et la manipulation des dates, ainsi que des sujets plus avancés comme les fuseaux horaires et l’heure d’été.

Travailler avec les dates en PHP

PHP fournit une variété de fonctions intégrées pour travailler avec les dates, notamment date(), time() et strtotime(). Ces fonctions vous permettent de formater et de manipuler les dates de différentes manières, notamment en modifiant le format d’une date, en ajoutant ou en soustrayant du temps à une date, et plus encore.

La fonction date()

La fonction date() est utilisée pour formater une date en PHP. Elle prend une chaîne de format comme premier paramètre, et un timestamp facultatif comme second paramètre.

Voici un exemple d’utilisation de la fonction date() pour afficher la date actuelle au format « Mois Jour, Année » :

La fonction date() en PHP

php
<?php
    echo date("F j, Y");
?>

Cela affichera la date actuelle au format « Mois Jour, Année », par exemple : « March 3, 2023 ».

La fonction time()

La fonction time() renvoie le timestamp Unix actuel, c’est-à-dire le nombre de secondes écoulées depuis le 1er janvier 1970.

Voici un exemple d’utilisation de la fonction time() pour obtenir le timestamp actuel :

La fonction time() en PHP

php
<?php
    echo time();
?>

Cela affichera le timestamp Unix actuel, qui est une longue suite de chiffres comme « 1646369616 ».

La fonction strtotime()

La fonction strtotime() est utilisée pour convertir une chaîne de date en timestamp Unix. Elle prend une chaîne de date comme paramètre et renvoie le timestamp Unix correspondant à cette date.

Voici un exemple d’utilisation de la fonction strtotime() pour convertir une chaîne de date en timestamp Unix :

La fonction strtotime() en PHP

php
<?php
    $dateString = "March 3, 2023";
    $timestamp = strtotime($dateString);
    echo $timestamp;
?>

Cela affichera le timestamp Unix correspondant au 3 mars 2023, soit « 1677801600 ».

Manipuler les dates en PHP

En plus du formatage des dates, PHP fournit également diverses fonctions pour manipuler les dates. Ces fonctions vous permettent d’ajouter ou de soustraire du temps à une date, de comparer des dates, et plus encore.

La fonction strtotime() (à nouveau)

La fonction strtotime() ne sert pas seulement à convertir des chaînes de date en timestamps Unix. Elle peut aussi être utilisée pour ajouter ou soustraire du temps à une date.

Voici un exemple d’utilisation de la fonction strtotime() pour ajouter un jour à une date :

Exemple d’utilisation de la fonction strtotime() pour ajouter un jour à une date en PHP

php
<?php
    $dateString = "March 3, 2023";
    $timestamp = strtotime($dateString);
    $newTimestamp = strtotime("+1 day", $timestamp);
    echo date("F j, Y", $newTimestamp);
?>

Cela affichera la date d’un jour après le 3 mars 2023, soit « March 4, 2023 ».

Les méthodes DateTime::add() et DateTime::sub()

Les méthodes DateTime::add() et DateTime::sub() sont utilisées pour ajouter ou soustraire du temps à un objet DateTime en PHP. Elles prennent un objet DateInterval comme paramètre, qui précise la quantité de temps à ajouter ou à soustraire.

Voici un exemple d’utilisation de la méthode DateTime::add() pour ajouter un jour à un objet DateTime :

Les méthodes DateTime::add() et DateTime::sub()

php
<?php
    $date = new DateTime("March 3, 2023");
    $date->add(new DateInterval("P1D"));
    echo $date->format("F j, Y");
?>

Cela affichera la date d’un jour après le 3 mars 2023, soit « March 4, 2023 ».

Comparer des dates en PHP

PHP fournit également des fonctions pour comparer des dates. La fonction strtotime() peut être utilisée pour convertir deux chaînes de date en timestamps Unix, qui peuvent ensuite être comparés à l’aide d’opérateurs de comparaison standard comme < et >.

Voici un exemple d’utilisation de la fonction strtotime() pour comparer deux dates :

Exemple d’utilisation de la fonction strtotime() pour comparer deux dates en PHP

php
<?php
    $date1 = "March 3, 2023";
    $date2 = "March 4, 2023";
    if (strtotime($date1) < strtotime($date2)) {
        echo "Date 1 is earlier than Date 2";
    } else {
        echo "Date 1 is later than or equal to Date 2";
    }
?>

Cela affichera « Date 1 is earlier than Date 2 ».

Fuseaux horaires et heure d’été

L’un des défis du travail avec les dates en PHP consiste à gérer les fuseaux horaires et l’heure d’été. PHP fournit des fonctions pour travailler avec les fuseaux horaires, notamment date_default_timezone_set() et DateTimeZone.

La fonction date_default_timezone_set()

La fonction date_default_timezone_set() est utilisée pour définir le fuseau horaire par défaut des fonctions de date et d’heure en PHP. Elle prend le nom d’un fuseau horaire comme paramètre.

Voici un exemple d’utilisation de la fonction date_default_timezone_set() pour définir le fuseau horaire sur « America/New_York » :

La fonction date_default_timezone_set() en PHP

php
<?php
    date_default_timezone_set("America/New_York");
?>

La classe DateTimeZone

La classe DateTimeZone est utilisée pour créer un objet de fuseau horaire en PHP. Elle prend le nom d’un fuseau horaire comme paramètre.

Voici un exemple de création d’un objet DateTimeZone pour le fuseau horaire « America/New_York » :

Exemple de DateTimeZone() en PHP

php
<?php
    $timezone = new DateTimeZone("America/New_York");
?>

Travailler avec l’heure d’été

Lorsque vous travaillez avec des dates en PHP, il est important de prendre en compte l’heure d’été. PHP fournit un spécificateur de format date(), I, qui indique si l’heure d’été est en vigueur ou non.

Voici un exemple d’utilisation de la fonction date() avec le spécificateur de format I pour déterminer si l’heure d’été est en vigueur ou non :

Exemple de date() en PHP avec le spécificateur de format "I"

php
<?php
    if (date("I") == 1) {
        echo "Daylight saving time is in effect";
    } else {
        echo "Daylight saving time is not in effect";
    }
?>

Cela affichera si l’heure d’été est en vigueur ou non.

Conclusion

Dans cet article, nous avons couvert les bases du travail avec les dates en PHP, notamment le formatage et la manipulation des dates, ainsi que des sujets plus avancés comme les fuseaux horaires et l’heure d’été. En utilisant les différentes fonctions et classes intégrées fournies par PHP, vous pouvez créer de puissantes fonctionnalités de date et d’heure dans vos applications.

Practice

What are valid formats that can be used by the date() function in PHP?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.