Das Bootstrap Admin-Dashboard muss je nach Situation mit verschiedenen Datums- und Zeitformaten jonglieren. So funktioniert es.
Liste der in PHP CRUD Generator verwendeten Datums-, Datetime- und Zeitformate
Seiten | Verwendung | Sprache | Format |
---|---|---|---|
READ-Listen | Von Menschen lesbares Datum, übersetzt in die Sprache des Benutzers | PHP mit aktivierter intl-Erweiterung | INTENSIVSTATION * |
READ-Listen | Von Menschen lesbares Datum NICHT übersetzt | PHP ohne aktivierte intl-Erweiterung | PHP Datumsformat ** |
CREATE / UPDATE Formulare | Datepicker-Plugins | Javascript | Pickadate Plugin-Formate *** |
PHP-Objekte | Datenbankfelder für Datum, Uhrzeit und Datetime | PHP/MySQL | Y-m-d H:i:s |
*ICU - https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classSimpleDateFormat.html#details
**PHPDatumsformate Liste: https://www.php.net/manual/en/function.date.php
***PickadateDatumsformate Liste: https://amsul.ca/pickadate.js/date/
Die Datums- und Zeitformate des Generators und des Admin-Panels
Wenn Sie ein Datums-/Zeitformat in einer READ-Liste des Generators festlegen, wird Ihre Wahl in der internen Datei(generator/database/phpcg/[your_table].json) gespeichert.
Das gespeicherte Format ist das Javascript-Format
Die Datums- und Zeitauswahlen des Verwaltungsformulars verwenden dieses Format + ein verstecktes Feld mit dem Suffix"_submit", um die Werte im MySQL-Datums-/Zeitformat zu senden.
Die TWIG READ list-Vorlage muss später das Datum / die Uhrzeit aus dem MySQL-Wert in ein für Menschen lesbares Format umwandeln.
Zu diesem Zweck wird das Javascript-Format vom Generator in PHP ICU umgewandelt, und zwar durch generator/class/generator/TemplatesUtilities.php. Das generierte PHP ICU-Format wird als Argument in der TWIG-Vorlage übergeben, um das MySQL-Datum / die Uhrzeit in das für Menschen lesbare Format zu konvertieren.
Die Funktion lautet pickerdateToPhpdate($pickerdate)
Die Elementklasse erstellt den Objektwert unter Verwendung des PHP/MySQL-Formats (keine Formatkonvertierung)
die TWIG-Vorlage READ list ruft die Funktion formatDate($date, $format)
in vendor/twig/twig/lib/Twig/Extension/CrudTwigExtension.php auf
Das angegebene $date
ist im PHP/MySQL-Format und kann ein Datum, eine Uhrzeit oder eine Datetime sein.
Das angegebene $format
ist das ICU-Format.
IntlDateFormatter::formatObject()
unter Verwendung von Locale::getDefault()
übersetzt angezeigtDie nachstehenden Datumsangaben werden aus einem Zufallsformat mit der gleichen Logik wie der CRUD-Generator generiert.
Fortgeschrittene