oujood.com

Maîtriser la conversion des dates : Tutoriel sur date_create_from_format() en PHP

Apprenez comment utiliser la fonction date_create_from_format() en PHP pour analyser et manipuler les dates dans divers formats. Ce tutoriel détaillé vous guidera à travers les paramètres, les formats et les astuces essentielles.

Tutoriel sur la fonction date_create_from_format() en PHP

PHP Version: 5.3+

Définition

La fonction date_create_from_format() est une fonction intégrée en PHP qui permet de créer un objet DateTime en analysant une chaîne de date selon un format spécifié. Cela facilite la conversion d'une chaîne de date dans un format donné en un objet DateTime, ce qui permet ensuite de manipuler et de formater la date selon les besoins.

Syntaxe générale

La syntaxe générale de la fonction date_create_from_format() est la suivante :

date_create_from_format(string $format, string $time [, DateTimeZone $timezone = null]) : DateTime|false

La fonction accepte une chaîne $format qui spécifie le format de la date, une chaîne $time qui représente la date à analyser et un paramètre optionnel $timezone pour spécifier le fuseau horaire souhaité pour la date. La fonction renvoie un objet DateTime si la conversion réussit, ou false en cas d'erreur.

Paramètres

  • $format: Une chaîne de caractères spécifiant le format de la date à analyser. Le format peut contenir des caractères spéciaux pour représenter différents éléments de la date et de l'heure, tels que le jour, le mois, l'année, l'heure, les minutes, les secondes, etc.
  • $time: La chaîne de date à analyser. Elle doit être conforme au format spécifié.
  • $timezone (optionnel): Un objet DateTimeZone représentant le fuseau horaire souhaité pour la date. Si ce paramètre est omis, le fuseau horaire par défaut du script sera utilisé.

Les caractères suivants peuvent être utilisés dans la chaîne de paramètres du format :

- d - Jour du mois ; avec des zéros en tête
- j - Jour du mois ; sans zéros en tête
- D - Jour du mois ( Mon - Sun)
- l - Jour du mois ( Monday - Sunday)
- S - Suffixe anglais pour le jour du mois (st, nd, rd, th)
- F - Nom du mois ( January - December)
- M - Nom du mois (Jan-Dec)
- m - Mois (01-12)
- n - Mois (1-12)
- Y - Année (ex. 2013)
- y - Année (ex. 13)
- a et A - am ou pm
- g - Format 12 heures sans zéros en tête
- G - format 24 heures sans zéros en tête
- h - format 12 heures avec zéros en tête
- H - Format 24 heures avec zéros en tête
- i - Minutes avec zéros en tête
- s - Secondes avec zéros en tête
- u - Microsecondes (jusqu'à six chiffres)
- e, O, P et T - Identificateur de fuseau horaire
- U - Secondes depuis l'époque Unix
- (espace)
- # - Un des symboles de séparation suivants : ;, :,/,.,,,-,(,)
- ? - Un octet aléatoire
- * - Octets aléatoires jusqu'au prochain séparateur/chiffre
- ! - Réinitialise tous les champs à l'époque Unix
- | - Réinitialise tous les champs à l'époque Unix s'ils 
	n'ont pas encore été analysés.
- + - Si elles sont présentes, les données de fin de chaîne 
	provoqueront un avertissement et non une erreur.

Valeurs possibles

La fonction date_create_from_format() prend en charge une grande variété de formats de date. Certains des formats les plus couramment utilisés incluent :

  • d/m/Y: Jour/mois/année (par exemple, 25/12/2023)
  • Y-m-d: Année-mois-jour (par exemple, 2023-12-25)
  • H:i:s: Heure:minutes:secondes (par exemple, 15:30:45)

Il est important de consulter la documentation officielle de PHP pour une liste complète des formats pris en charge.

Exemples pratiques d'utilisation

Voici quelques exemples pratiques d'utilisation de la fonction date_create_from_format() :

Exemple :       Copier le code

<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <title>Exemple La fonction date_create_from_format() en PHP</title>
</head>
<body>
<?php
$date=date_create_from_format("j-M-Y","15-Mar-2013");
echo date_format($date,"Y/m/d");
echo '<br>';
$dateString = "25/12/2023";
$dateFormat = "d/m/Y";
$date = date_create_from_format($dateFormat, $dateString);
echo $date->format("Y-m-d").'<br>'; // Affiche: 2023-12-25

$timeString = "15:30:45";
$timeFormat = "H:i:s";
$time = date_create_from_format($timeFormat, $timeString);
echo $time->format("h:i A"); // Affiche: 03:30 PM
?>
</body>
</html>

Astuces et conseils d'utilisation

  • 1. Vérifiez attentivement le format de votre chaîne de date et assurez-vous qu'il correspond au format spécifié dans la fonction date_create_from_format(). Les formats incorrects peuvent entraîner une conversion incorrecte ou une erreur.
  • 2. Utilisez les caractères de formatage appropriés pour représenter les éléments de date et d'heure dans la chaîne $format. Par exemple, utilisez d pour le jour, m pour le mois, Y pour l'année, H pour l'heure au format 24 heures, i pour les minutes, s pour les secondes, etc.
  • 3. Utilisez la méthode format() de l'objet DateTime pour formater la date et l'heure selon vos besoins. Par exemple, vous pouvez utiliser $date->format("Y-m-d") pour obtenir la date au format "année-mois-jour".
  • 4. Assurez-vous de manipuler les erreurs potentielles en vérifiant si la fonction date_create_from_format() renvoie false (ce qui indique qu'il y a eu une erreur d'analyse). Vous pouvez utiliser une condition if pour vérifier si la conversion a réussi avant de continuer à manipuler la date.

Avec la fonction date_create_from_format() en PHP, vous pouvez facilement analyser une chaîne de date dans un format spécifié et créer un objet DateTime pour effectuer diverses opérations sur les dates. En comprenant les formats de date, les paramètres et les astuces d'utilisation, vous serez en mesure de manipuler efficacement les dates dans vos applications PHP.

Reference de date/heure de PHP




Voir aussi nos tutoriel :

dessiner avec php

Dessiner avec PHP la librairie GD

color

Définit la couleur du texte

fonction gettimeofday

Retourne l'heure actuelle