date_parse Retourne un tableau associatif avec des informations détaillées sur une date/moment donnée &reftitle.description; arraydate_parse stringdatetime date_parse analyse la chaîne datetime donnée selon les mêmes règles strtotime et DateTimeImmutable::__construct. Au lieu de renvoyer un horodatage Unix (avec strtotime) ou un objet DateTimeImmutable (avec DateTimeImmutable::__construct), il renvoie un tableau associatif avec les informations qu'il pourrait détecter dans la chaîne datetime donnée. Si aucune information sur un certain groupe d'éléments ne peut être trouvée, ces éléments du tableau seront définis sur &false; ou seront manquants. Si nécessaire pour construire un horodatage ou un objet DateTimeImmutable à partir de la même chaîne datetime, plusieurs champs peuvent être définis sur une valeur non-&false;. Voir les exemples ci-dessous pour les cas où cela se produit. &reftitle.parameters; datetime Date/moment dans un format accepté par DateTimeImmutable::__construct. &reftitle.returnvalues; Retourne un &array; contenant des informations sur la date/moment analysé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. &reftitle.errors; Dans le cas où la fonction retourne une erreur, l'élément "errors" contiendra les messages d'erreur. &reftitle.changelog; &Version; &Description; 7.2.0 L'élément zone du tableau retourné représente maintenant des secondes au lieu des minutes, et son signe est inversé. Par exemple, -120 est maintenant 7200. &reftitle.examples; <function>date_parse</function> avec une chaîne <parameter>datetime</parameter> complète ]]> &example.outputs; int(2006) ["month"]=> int(12) ["day"]=> int(12) ["hour"]=> int(10) ["minute"]=> int(0) ["second"]=> int(0) ["fraction"]=> float(0.5) ["warning_count"]=> int(0) ["warnings"]=> array(0) { } ["error_count"]=> int(0) ["errors"]=> array(0) { } ["is_localtime"]=> bool(false) } ]]> Les éléments de fuseau horaire n'apparaissent que s'ils sont inclus dans la chaîne datetime donnée. Dans ce cas, il y aura toujours un élément zone_type et quelques autres en fonction de sa valeur. <function>date_parse</function> avec des informations abrégé sur le fuseau horaire ]]> &example.outputs; int(2022) ["month"]=> int(6) ["day"]=> int(2) ["hour"]=> int(10) ["minute"]=> int(28) ["second"]=> int(17) ["fraction"]=> float(0) ["warning_count"]=> int(0) ["warnings"]=> array(0) { } ["error_count"]=> int(0) ["errors"]=> array(0) { } ["is_localtime"]=> bool(true) ["zone_type"]=> int(2) ["zone"]=> int(0) ["is_dst"]=> bool(true) ["tz_abbr"]=> string(3) "BST" } ]]> <function>date_parse</function> avec des informations abrégé sur le fuseau horaire ]]> &example.outputs; int(2022) ["month"]=> int(6) ["day"]=> int(2) ["hour"]=> int(10) ["minute"]=> int(28) ["second"]=> int(17) ["fraction"]=> float(0) ["warning_count"]=> int(0) ["warnings"]=> array(0) { } ["error_count"]=> int(0) ["errors"]=> array(0) { } ["is_localtime"]=> bool(true) ["zone_type"]=> int(3) ["tz_id"]=> string(13) "Europe/London" } ]]> Si une chaîne datetime plus minimale est analysée, moins d'informations sont disponibles. Dans cet exemple, toutes les parties temporelles sont renvoyées comme &false;. <function>date_parse</function> avec une chaîne minimale ]]> &example.outputs; int(2022) ["month"]=> int(6) ["day"]=> int(2) ["hour"]=> bool(false) ["minute"]=> bool(false) ["second"]=> bool(false) ["fraction"]=> bool(false) ["warning_count"]=> int(0) ["warnings"]=> array(0) { } ["error_count"]=> int(0) ["errors"]=> array(0) { } ["is_localtime"]=> bool(false) } ]]> Les formats relatifs n'influencent pas les valeurs analysées depuis des formats absoluts, mais sont analysées dans l'élément "relatif". Exemple avec <function>date_parse</function> et des formats relatifs ]]> &example.outputs; int(2006) ["month"]=> int(12) ["day"]=> int(12) ["hour"]=> int(10) ["minute"]=> int(0) ["second"]=> int(0) ["fraction"]=> float(0.5) ["warning_count"]=> int(0) ["warnings"]=> array(0) { } ["error_count"]=> int(0) ["errors"]=> array(0) { } ["is_localtime"]=> bool(false) ["relative"]=> array(6) { ["year"]=> int(0) ["month"]=> int(0) ["day"]=> int(7) ["hour"]=> int(1) ["minute"]=> int(0) ["second"]=> int(0) } } )]]> Certaines strophes, telles que Thursday (jeudi) définiront la partie heure de la chaîne sur 0. Si Thursday (jeudi) is est passé àDateTimeImmutable::__construct l'heure, la minute, la seconde et la fraction seront également définies sur 0. Dans l'exemple ci-dessous, l'élément année est cependant laissé à &false;. <function>date_parse</function> avec des effets secondaires ]]> &example.outputs; bool(false) ["month"]=> int(6) ["day"]=> int(2) ["hour"]=> int(0) ["minute"]=> int(0) ["second"]=> int(0) ["fraction"]=> float(0) ["warning_count"]=> int(0) ["warnings"]=> array(0) { } ["error_count"]=> int(0) ["errors"]=> array(0) { } ["is_localtime"]=> bool(false) ["relative"]=> array(7) { ["year"]=> int(0) ["month"]=> int(0) ["day"]=> int(0) ["hour"]=> int(0) ["minute"]=> int(0) ["second"]=> int(0) ["weekday"]=> int(4) } } ]]> &reftitle.seealso; date_parse_from_format pour analyser le parameters datetime avec un format spécifique checkdate pour une validation de date Grégorienne getdate