La classe PHP DateInterval calcule la différence entre deux objets date / heure. Parfois, cela nécessite de trouver la différence entre deux jours, mois, années, heures, minutes et secondes à des fins de programmation. L'objet de cette classe stocke la durée fixe qui peut être lue en utilisant la fonction format () en utilisant différents paramètres de format. Différentes utilisations de la classe DateInterval dans PHP sont affichées dans ce tutoriel.
Différents paramètres de format de la fonction format ()
Les objectifs de différents caractères de format utilisés dans la fonction format () ont été décrits dans cette partie du tutoriel.
Caractère format | But |
%d | Imprime le jour de la date sans diriger zéro Exemple: 1, 2, 30, etc. |
%D | Imprime le jour de la date avec un zéro leader Exemple: 2, 05, 30, etc. |
% m | Imprime le numéro de mois de la date sans zéro leader Exemple: 1, 6, 12, etc. |
% M | Imprime le numéro de mois de la date avec un zéro leader Exemple: 01, 06, 12, etc. |
% y | Imprime l'année à 2 chiffres Exemple: 21, 22, 23, etc. |
% Y | Imprime l'année à 4 chiffres Exemple: 2021, 2022, 2023, etc. |
% h | Imprime l'heure sans diriger zéro Exemple: 1, 5, 11, etc. |
% H | Imprime l'heure avec un zéro principal Exemple: 01, 05, 11, etc. |
%je | Imprime la minute sans diriger zéro Exemple: 1, 9, 59, etc. |
%JE | Imprime la minute avec un zéro principal Exemple: 01, 05, 25, etc. |
% s | Imprime le second sans diriger zéro Exemple: 1, 9, 59, etc. |
% S | Imprime la seconde avec un zéro leader Exemple: 01, 09, 59, etc. |
%F | Imprime la microseconde sans diriger zéro Exemple: 7845, 562312, 235634, etc. |
%F | Imprime la microseconde avec 6 chiffres et le premier zéro Exemple: 007845, 062312, 235634, etc. |
Les utilisations de différentes méthodes de classe DateInterval sont discutées dans la partie suivante de ce tutoriel.
Exemple 1: Utilisation de la classe DateInterval pour la journée, le mois et l'année
Créez un fichier PHP avec le script suivant qui montre l'utilisation de la définition de différentes valeurs d'intervalle en utilisant la classe DateInterval. L'intervalle doit commencer par le personnage, 'P'. Le caractère «y» est utilisé pour l'intervalle d'année, «M» est utilisé pour l'intervalle de mois, et «D» est utilisé pour l'intervalle de jour. Dans le script, la première classe DateInterval définira des intervalles de 10 jours, la deuxième classe DateInterval définira des intervalles de 5 mois et 10 jours, et la troisième classe Dateinterval définira 2 ans, 5 mois et 10 jours d'intervalle.
// définir l'intervalle en jours
$ ival = new DateInterval ('P10D');
// imprime la valeur d'intervalle
écho "l'intervalle est", $ ival-> format ('% d jours.')."
"
// régler l'intervalle en mois et jours
$ ival = new DateInterval ('p5m10d');
// imprime la valeur d'intervalle en mois et jours
écho "l'intervalle est", $ ival-> format ('% m mois et% d jours.'), "
"
// définir l'intervalle en années, mois et jours
$ ival = new DateInterval ('p2y5m10d');
// Imprime la valeur d'intervalle en années, mois et jours avec des zéros de premier plan
écho "l'intervalle est", $ ival-> format ('% y ans,% m mois et% d jours.'), "
"
// imprime la valeur d'intervalle en années, mois et jours sans diriger des zéros
écho "l'intervalle est", $ ival-> format ('% y ans,% m mois et% d jours.'), "
"
?>
La sortie suivante apparaîtra après l'exécution du script précédent:
Exemple 2: Utilisation de la classe DateInterval avec la fonction date_interval_format ()
La fonction date_interval_format () imprime la valeur d'intervalle de date avec la chaîne de formatage. Cette fonction prend l'objet d'intervalle dans le premier argument et la chaîne de format dans le deuxième argument. Créez un fichier PHP avec le script suivant où l'utilisation de la fonction date_interval_format () a été affichée:
// définit l'intervalle en années, mois et jours
$ ival = new DateInterval ('p10y6m15d');
// Définissez le format pendant des jours
$ format = "% d";
// imprime la valeur d'intervalle en jours
écho "l'intervalle est".date_interval_format ($ ival, $ format)." jours.
"
// Définit le format pendant des jours et des mois
$ format = "% m mois et% de jours."
// imprime la valeur d'intervalle en mois et jours
écho "l'intervalle est".date_interval_format ($ ival, $ format)."
"
// Définissez le format pendant des jours
$ format = "% y ans,% m mois et% de jours."
// imprime la valeur d'intervalle en années, mois et jours
écho "l'intervalle est".date_interval_format ($ ival, $ format)."
"
?>
La sortie suivante apparaîtra après l'exécution du script précédent:
Exemple 3: Utilisation de la classe DateInterval pour l'heure, la minute et la seconde
Le caractère «t» est utilisé après le caractère «p» pour définir l'intervalle dans le temps. Créez un fichier PHP avec le script suivant où l'intervalle de temps est défini en utilisant la classe DateInterval:
// définir l'intervalle en quelques secondes
$ ival = new DateInterval ('pt30s');
// Définissez le formatage
$ format = "% s secondes."
// imprime la valeur d'intervalle en secondes
écho "l'intervalle est". date_interval_format ($ ival, $ format). "
"
// définir l'intervalle en quelques secondes
$ ival = new DateInterval ('PT15M30S');
// Définissez le formatage
$ format = "% i minutes et% s secondes."
// imprime la valeur d'intervalle en minutes et secondes
écho "l'intervalle est". date_interval_format ($ ival, $ format). "
"
// définir l'intervalle en quelques secondes
$ ival = new DateInterval ('PT5H15M30S');
// Définissez le formatage
$ format = "% h heures,% i minutes et% s secondes."
// imprime la valeur d'intervalle en heures, minutes et secondes
écho "l'intervalle est". date_interval_format ($ ival, $ format). "
"
?>
La sortie suivante apparaîtra après l'exécution du script précédent:
Exemple 4: Utilisation de la classe DateInterval avec CreateFromDateString ()
La fonction CreateFromDateString () est utilisée pour définir l'intervalle de date et de temps de différentes manières. Créez un fichier PHP avec le script suivant où l'intervalle de date et de temps a été défini de différentes manières en utilisant la fonction createFromDateString ():
// définir l'intervalle en jours
$ ival = dateinterval :: createFromDateString ('20 jours ');
Echo "L'intervalle est", $ ival-> format ('% d Days'), "
"
// définir l'intervalle en semaines
$ ival = dateinterval :: createFromDateString ('4 semaines');
Echo "L'intervalle est", $ ival-> format ('% d Days'), "
"
// définir l'intervalle en mois
$ ival = dateinterval :: createFromDateString ('3 mois');
Echo "L'intervalle est", $ ival-> format ('% m mois'), "
"
// définir l'intervalle en années et jours
$ ival = dateinterval :: createFromDateString ('5 ans + 15 jours');
Echo "L'intervalle est", $ ival-> format ('% y ans% d days'), "
"
// Réglez l'intervalle en semaines, jours, heures et minutes en sommation
$ ival = dateinterval :: createFromDateString ('2 semaines + 15 jours + 24 heures + 60 minutes');
Echo "L'intervalle est", $ ival-> format ('% d jours,% h d'heures et% i minutes), "
"
// définir l'intervalle en jours par soustraction
$ ival = dateinterval :: createFromDateString ('30 jours - 15 jours ');
Echo "L'intervalle est", $ ival-> format ('% d Days'), "
"
?>
La sortie suivante apparaîtra après l'exécution du script précédent:
Conclusion
Les différentes façons de définir l'intervalle de date et de temps en utilisant la valeur de la chaîne au moment de la création de l'objet de la classe DateInterval ou à l'aide de CreateFromDateString () ont été affichés dans ce tutoriel. Les utilisations de la classe DateInterval ont été discutées pour que les nouveaux utilisateurs de PHP comprennent mieux.