Logique de gestion des formats de date et d'heure

Le tableau de bord de l'Interface d'administration 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 en PHP CRUD Generator

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

*USIC - 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 l'Interface d'administration

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 une période de temps.

    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
aa mmmm d hh i a
$icu_format
aa MMMM d hh m a
$icu_date
23 décembre 30 10 24 heures
$php_format
y F j h i a
$php_date
23 décembre 30 10 24 heures

$pickerdate
aaaa mmmm dd h i A
$icu_format
yyyy MMMM dd h m a
$icu_date
2023 30 décembre 10 24 heures
$php_format
Y F d g i a
$php_date
2023 30 décembre 10 24 heures

$pickerdate
aa mm jj hh i a
$icu_format
aa MM jj hh m a
$icu_date
23 12 30 10 24 heures
$php_format
y m d h i a
$php_date
23 12 30 10 24 heures

$pickerdate
yyyy mmmm dddd h i a
$icu_format
yyyy MMMM eeee h m a
$icu_date
2023 Décembre Samedi 10 24 heures
$php_format
Y F l g i a
$php_date
2023 Décembre Samedi 10 24 heures

$pickerdate
aaaa mm d HH i a
$icu_format
aaaa MM d HH m a
$icu_date
2023 12 30 10 24 am
$php_format
Y m j H i a
$php_date
2023 12 30 10 24 am

$pickerdate
aaaa m jj hh i a
$icu_format
yyyy M dd hh m a
$icu_date
2023 12 30 10 24 am
$php_format
Y n d h i a
$php_date
2023 12 30 10 24 am

$pickerdate
aaaa mm jj HH i A
$icu_format
aaaa MM jj HH m a
$icu_date
2023 12 30 10 24 am
$php_format
Y m d H i a
$php_date
2023 12 30 10 24 am

$pickerdate
yy mmmm ddd hh i a
$icu_format
yy MMMM eee hh m a
$icu_date
23 décembre sam 10 24 h
$php_format
y F D h i a
$php_date
23 décembre sam 10 24 h

$pickerdate
aaaa mmmm dd hh i A
$icu_format
yyyy MMMM dd hh m a
$icu_date
2023 30 décembre 10 24 heures
$php_format
Y F d h i a
$php_date
2023 30 décembre 10 24 heures

$pickerdate
aaaa mm jj hh i a
$icu_format
aaaa MM jj hh m a
$icu_date
2023 12 30 10 24 am
$php_format
Y m d h i a
$php_date
2023 12 30 10 24 am

Page principale du tutoriel CRUD PHP