Logica di gestione dei formati di data e ora

La dashboard amministrativa di Bootstrap deve destreggiarsi con diversi formati di data e ora a seconda della situazione. Ecco come funziona.


I diversi formati di data e ora

Elenco dei formati di data, data e ora utilizzati in PHP CRUD Generator

Pagine Utilizzo Lingua Formato
Liste da leggere Data leggibile dall'uomo, tradotta in base alla lingua dell'utente. PHP con estensione intl abilitata TERAPIA INTENSIVA *
Liste da leggere Data leggibile dall'uomo NON tradotta PHP senza estensione intl abilitata Formato data PHP **
Creare e aggiornare i moduli Plugin Datepicker Javascript Formati del plugin Pickadate ***
Oggetti PHP Campi data, ora e datetime del database PHP/MySQL Y-m-d H:i:s

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

**Elencodei formati di data di PHP: https://www.php.net/manual/en/function.date.php

***Listadei formati di data di pickadate: https://amsul.ca/pickadate.js/date/


Gestione dei formati di data e ora PHP/JavaScript nel cruscotto dell'amministratore.

I formati di data e ora del Generatore e del pannello di amministrazione

  1. Quando imposta un formato di data/ora in un elenco READ del generatore, la sua scelta viene memorizzata nel file interno(generator/database/phpcg/[your_table].json).

    Il formato memorizzato è il formato Javascript

    I selezionatori di data e ora del modulo di amministrazione utilizzeranno questo formato, + un campo nascosto con un suffisso"_submit" per inviare i valori nel formato data/ora di MySQL.

  2. Il modello di elenco TWIG READ dovrà successivamente convertire la data/ora dal valore MySQL al formato leggibile dall'uomo.
    A tale scopo, il formato Javascript viene convertito dal generatore in PHP ICU da generator/class/generator/TemplatesUtilities.php. Il formato PHP ICU generato sarà passato come argomento nel modello TWIG per convertire la data/ora MySQL nel formato leggibile dall'uomo.

    La funzione è pickerdateToPhpdate($pickerdate)

  3. La classe item costruisce il valore dell'oggetto utilizzando il formato PHP/MySQL (nessuna conversione di formato).

  4. Il modello TWIG dell'elenco READ chiama la funzione formatDate($date, $format) in vendor/twig/twig/lib/Twig/Extension/CrudTwigExtension.php

    Il dato $date è in formato PHP/MySQL e può essere una data, un'ora o un datetime.

    Il $formato dato è il formato ICU.

    • se l'estensione PHP intl è abilitata, mostrerà la data tradotta secondo le impostazioni della sua lingua con IntlDateFormatter::formatObject() utilizzando Locale::getDefault()
    • Se l'estensione PHP intl non è abilitata, converte la data e l'ora dell'UCI nel classico formato di data PHP.

Esempi di formati datetime casuali

I datari qui sotto sono generati da un formato casuale utilizzando la stessa logica del Generatore CRUD.

$data di selezione
aaaa mmm gg HH i a
$icu_format
aaaa MMM gg HH m a
$icu_date
2024 Gen 10 09 10 am
$php_format
Y M d H i a
$php_date
2024 Gen 10 09 10 am

$data di selezione
yyyy m ddd h i a
$icu_format
yyyy M eee h m a
$icu_date
2024 1 Mer 9 10 am
$php_format
Y n D g i a
$php_date
2024 1 Mer 9 10 am

$data di selezione
yy mm dd h i a
$icu_format
yy MM dd h m a
$icu_date
24 01 10 9 10 am
$php_format
y m d g i a
$php_date
24 01 10 9 10 am

$data di selezione
aaaa m gg HH i a
$icu_format
aaaa M gg HH m a
$icu_date
2024 1 10 09 10 am
$php_format
Y n d H i a
$php_date
2024 1 10 09 10 am

$data di selezione
aaaa mmm dddd HH i a
$icu_format
yyyy MMM eeee HH m a
$icu_date
2024 gennaio mercoledì 09 ore 10
$php_format
Y M l H i a
$php_date
2024 gennaio mercoledì 09 ore 10

$data di selezione
yy mmmm d h i a
$icu_format
yy MMMM d h m a
$icu_date
24 gennaio 10 9 10 am
$php_format
y F j g i a
$php_date
24 gennaio 10 9 10 am

$data di selezione
yy mmmm ddd HH i A
$icu_format
yy MMMM eee HH m a
$icu_date
24 gennaio mer 09 10 am
$php_format
y F D H i a
$php_date
24 gennaio mer 09 10 am

$data di selezione
yy mmmm dd HH i A
$icu_format
yy MMMM dd HH m a
$icu_date
24 gennaio 10 09 10 am
$php_format
y F d H i a
$php_date
24 gennaio 10 09 10 am

$data di selezione
yy mmm dd H i A
$icu_format
yy MMM dd H m a
$icu_date
24 gennaio 10 9 10 am
$php_format
y M d G i a
$php_date
24 gennaio 10 9 10 am

$data di selezione
yy mmmm d H i a
$icu_format
yy MMMM d H m a
$icu_date
24 gennaio 10 9 10 am
$php_format
y F j G i a
$php_date
24 gennaio 10 9 10 am

Pagina principale del tutorial PHP CRUD