Logik zur Verwaltung von Datums- und Zeitformaten

Das Bootstrap Admin-Dashboard muss je nach Situation mit verschiedenen Datums- und Zeitformaten jonglieren. So funktioniert es.


Die verschiedenen Datums- und Zeitformate

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/


Verwaltung von PHP/JavaScript Datums- und Zeitformaten im Admin-Dashboard

Die Datums- und Zeitformate des Generators und des Admin-Panels

  1. 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.

  2. 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)

  3. Die Elementklasse erstellt den Objektwert unter Verwendung des PHP/MySQL-Formats (keine Formatkonvertierung)

  4. 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.

    • wenn die PHP intl-Erweiterung aktiviert ist, wird das Datum entsprechend Ihrer Spracheinstellungen mit IntlDateFormatter::formatObject() unter Verwendung von Locale::getDefault() übersetzt angezeigt
    • wenn die PHP intl-Erweiterung nicht aktiviert ist, wird das ICU-Datum / die ICU-Zeit in das klassische PHP-Datumsformat umgewandelt

Beispiele für zufällige Datumsformate

Die nachstehenden Datumsangaben werden aus einem Zufallsformat mit der gleichen Logik wie der CRUD-Generator generiert.

$Auswahldatum
jjjj mmm tt HH i a
$icu_format
jjjj MMM tt HH m a
$icu_date
2024 Jan 10 09 10 Uhr
$php_format
Y M d H i a
$php_date
2024 Jan 10 09 10 Uhr

$Auswahldatum
jjjj m tt h i a
$icu_format
yyyy M eee h m a
$icu_date
2024 1 Mi 9 10 Uhr
$php_format
Y n D g i a
$php_date
2024 1 Mi 9 10 Uhr

$Auswahldatum
jj mm tt h i a
$icu_format
jj MM tt h m a
$icu_date
24 01 10 9 10 Uhr
$php_format
y m d g i a
$php_date
24 01 10 9 10 Uhr

$Auswahldatum
jjjj m tt HH i a
$icu_format
jjjj M tt HH m a
$icu_date
2024 1 10 09 10 Uhr
$php_format
Y n d H i a
$php_date
2024 1 10 09 10 Uhr

$Auswahldatum
jjjj mmm tttd HH i a
$icu_format
jjjj MMM eeee HH m a
$icu_date
2024 Jan Mittwoch 09 10 am
$php_format
Y M l H i a
$php_date
2024 Jan Mittwoch 09 10 am

$Auswahldatum
yy mmmm d h i a
$icu_format
yy MMMM d h m a
$icu_date
24 Januar 10 9 10 Uhr
$php_format
y F j g i a
$php_date
24 Januar 10 9 10 Uhr

$Auswahldatum
yy mmmm ddd HH i A
$icu_format
yy MMMM eee HH m a
$icu_date
24 Januar Mi 09 10 Uhr
$php_format
y F D H i a
$php_date
24 Januar Mi 09 10 Uhr

$Auswahldatum
yy mmmm dd HH i A
$icu_format
jj MMMM tt HH m a
$icu_date
24 Januar 10 09 10 Uhr
$php_format
y F d H i a
$php_date
24 Januar 10 09 10 Uhr

$Auswahldatum
yy mmm dd H i A
$icu_format
yy MMM dd H m a
$icu_date
24 Jan 10 9 10 am
$php_format
y M d G i a
$php_date
24 Jan 10 9 10 am

$Auswahldatum
yy mmmm d H i a
$icu_format
yy MMMM d H m a
$icu_date
24 Januar 10 9 10 Uhr
$php_format
y F j G i a
$php_date
24 Januar 10 9 10 Uhr

PHP CRUD-Tutorial Hauptseite