(PHP 5 >= 5.3.0, PHP 7, PHP 8)
date_parse_from_format — Récupère les informations d'une date donnée suivant un format spécifique
Retourne un tableau associatif contenant des informations détaillées sur une date/moment donnée.
format
Documentation sur l'utilisation du format
,
veuillez vous référer à la documentation de
DateTimeImmutable::createFromFormat(). Les
mêmes règles s'appliquent.
datetime
Chaîne représentant la date/moment.
Retourne un tableau associatif avec des informations détaillées sur la date/moment donnée.
Le tableau retourné a des clés pour year
,
month
, day
, hour
,
minute
, second
,
fraction
, et is_localtime
.
Si is_localtime
est présent, alors
zone_type
indique le type de fuseau horaire.
Pour le type 1
(décalage UTC) les champs
zone
et is_dst
sont ajoutés.
Pour le type 2
(abréviation) les champs
tz_abbr
et is_dst
sont ajoutés.
Pour le type 3
(identifiant de fuseau horaire)
les champs tz_abbr
et tz_id
sont ajoutés.
Le tableau inclus les champs warning_count
et
warnings
. Le premier indique le nombre
d'avertissements. Les clés du tableau warnings
indiquent la position dans le paramètre datetime
où l'avertissement s'est produit, avec la valeur de chaîne décrivant
l'avertissement lui-même. Un exemple ci-dessous montre un tel
avertissement.
Le tableau inclus aussi les champs error_count
et
errors
fields. Le premier indique le nombre
d'erreurs. Les clés du tableau errors
indiquent
la position dans le paramètre datetime
où l'erreur
s'est produite, avec la valeur de chaîne décrivant l'avertissement
lui-même. Un exemple ci-dessous montre un tel avertissement.
Le nombre d'éléments de tableau dans les tableaux warnings
et
errors
peut être inférieur à warning_count
ou error_count
s'ils se sont produits à la même position.
Cette fonction lance une ValueError lorsque le
datetime
contient des octets NULL.
Version | Description |
---|---|
8.0.21, 8.1.8, 8.2.0 |
Lance désormais une ValueError lorsque des octets NULL
sont passés dans datetime , ce qui était auparavant ignoré
silencieusement.
|
7.2.0 |
L'élément zone du tableau retourné représente des secondes
au lieu de minutes maintenant, et son signe est inversé. Par exemple
-120 est maintenant égal à 7200 .
|
Exemple #1 Exemple avec date_parse_from_format()
<?php
$date = "6.1.2009 13:00+01:00";
print_r(date_parse_from_format("j.n.Y H:iP", $date));
?>
L'exemple ci-dessus va afficher :
Array ( [year] => 2009 [month] => 1 [day] => 6 [hour] => 13 [minute] => 0 [second] => 0 [fraction] => [warning_count] => 0 [warnings] => Array ( ) [error_count] => 0 [errors] => Array ( ) [is_localtime] => 1 [zone_type] => 1 [zone] => 3600 [is_dst] => )
Exemple #2 Exemple de date_parse_from_format() avec des warnings (avertissements)
<?php
$date = "26 August 2022 22:30 pm";
$parsed = date_parse_from_format("j F Y G:i a", $date);
echo "Warnings count: ", $parsed['warning_count'], "\n";
foreach ($parsed['warnings'] as $position => $message) {
echo "\tOn position {$position}: {$message}\n";
}
?>
L'exemple ci-dessus va afficher :
Warnings count: 1 On position 23: The parsed time was invalid
Exemple #3 Exemple de date_parse_from_format() avec des errors (erreurs)
<?php
$date = "26 August 2022 CEST";
$parsed = date_parse_from_format("j F Y H:i", $date);
echo "Errors count: ", $parsed['error_count'], "\n";
foreach ($parsed['errors'] as $position => $message) {
echo "\tOn position {$position}: {$message}\n";
}
?>
L'exemple ci-dessus va afficher :
Errors count: 3 On position 15: A two digit hour could not be found On position 19: Data missing