Gestion des formats de date et d'heure dans les applications PHP
Guide technique pour les développeurs

Le tableau de bord de Bootstrap doit jongler avec différents formats de date et d'heure en fonction de la situation. Voici comment cela fonctionne.


Les différents formats de date et d'heure

Liste des formats de date, d'heure et de temps utilisés dans le générateur CRUD de PHP

Pages Utilisation Langue Format
LIRE les listes Date lisible par l'homme et traduite dans la langue de l'utilisateur PHP avec l'extension intl activée USI *
LIRE les listes Date lisible par l'homme NON traduite PHP sans l'extension intl activée Format de date PHP **
Formulaires CREATE / UPDATE Plugins Datepicker Javascript Formats du plugin Pickadate ***
Objets PHP Champs de la base de données relatifs à la date, à l'heure et à l'intervalle de temps PHP/MySQL Y-m-d H:i:s

*SOINS INTENSIFS - https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classSimpleDateFormat.html#details

**Laliste des formats de date de PHP : https://www.php.net/manual/en/function.date.php

***Laliste des formats de date de Pickadate : https://amsul.ca/pickadate.js/date/


Gestion des formats de date et d'heure PHP/JavaScript dans le tableau de bord de l'administrateur

Les formats de date et d'heure du générateur et du panneau d'administration

  1. Lorsque vous définissez un format de date / heure dans un générateur READ list, votre choix est stocké dans un fichier interne(generator/database/phpcg/[votre_table].json).

    Le format stocké est le format Javascript

    Les sélecteurs de date et d'heure du formulaire d'administration utiliseront ce format, + un champ caché avec un suffixe"_submit" pour envoyer les valeurs au format date/heure MySQL.

  2. Le modèle de liste TWIG READ devra ensuite convertir la date et l'heure de la valeur MySQL au format lisible par l'homme.
    Pour cela, le format Javascript est converti par le générateur en PHP ICU par generator/class/generator/TemplatesUtilities.php. Le format PHP ICU généré sera passé comme argument dans le modèle TWIG pour convertir la date / heure MySQL au format lisible par l'homme.

    La fonction est pickerdateToPhpdate($pickerdate)

  3. La classe d'objet construit la valeur de l'objet en utilisant le format PHP/MySQL (pas de conversion de format).

  4. le modèle TWIG READ list appelle la fonction formatDate($date, $format) dans vendor/twig/twig/lib/Twig/Extension/CrudTwigExtension.php

    La donnée $date est au format PHP/MySQL et peut être une date, une heure ou un jour.

    Le format $format donné est le format ICU.

    • si l'extension PHP intl est activée, la date sera traduite en fonction de vos paramètres linguistiques avec IntlDateFormatter::formatObject() en utilisant Locale::getDefault()
    • Si l'extension PHP intl n' est pas activée, elle convertit la date et l'heure de l'unité de soins intensifs au format de date classique de PHP.

Exemples aléatoires de formats de date

Les dates ci-dessous sont générées à partir d'un format aléatoire en utilisant la même logique que le générateur CRUD.

$pickerdate
yy m dddd H i a
$icu_format
yy M eeee H m a
$icu_date
25 2 Mercredi 9 h 50
$php_format
y n l G i a
$php_date
25 2 Mercredi 9 h 50

$pickerdate
aaaa mmm dd H i A
$icu_format
aaaa MMM dd H m a
$icu_date
2025 19 février 9 h 50
$php_format
Y M d G i a
$php_date
2025 19 février 9 h 50

$pickerdate
aaaa m dddd HH i A
$icu_format
yyyy M eeee HH m a
$icu_date
2025 2 Mercredi 09 50
$php_format
Y n l H i a
$php_date
2025 2 Mercredi 09 50

$pickerdate
aa mm dddd H i A
$icu_format
yy MM eeee H m a
$icu_date
25 02 Mercredi 9 h 50
$php_format
y m l G i a
$php_date
25 02 Mercredi 9 h 50

$pickerdate
aa mmm ddd h i A
$icu_format
yy MMM eee h m a
$icu_date
25 févr. mer 9 50 am
$php_format
y M D g i a
$php_date
25 févr. mer 9 50 am

$pickerdate
aa mm dd H i a
$icu_format
aa MM dd H m a
$icu_date
25 02 19 9 50 am
$php_format
y m d G i a
$php_date
25 02 19 9 50 am

$pickerdate
yy mmmm ddd h i A
$icu_format
yy MMMM eee h m a
$icu_date
25 février mer 9 h 50
$php_format
y F D g i a
$php_date
25 février mer 9 h 50

$pickerdate
aa mmm d hh i a
$icu_format
aa MMM d hh m a
$icu_date
25 fév 19 09 50 am
$php_format
y M j h i a
$php_date
25 fév 19 09 50 am

$pickerdate
aaaa mm jj HH i a
$icu_format
aaaa MM jj HH m a
$icu_date
2025 02 19 09 50 am
$php_format
Y m d H i a
$php_date
2025 02 19 09 50 am

$pickerdate
aaaa mm d h i A
$icu_format
aaaa MM d h m a
$icu_date
2025 02 19 9 50
$php_format
Y m j g i a
$php_date
2025 02 19 9 50

Page principale du tutoriel CRUD PHP