Gestione dei formati di data e ora nelle applicazioni PHP
Guida tecnica per sviluppatori

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

$pickerdate
yy m dd HH i A
$icu_format
yy M dd HH m a
$icu_date
25 2 21 16 ore 20
$php_format
e H i a
$php_date
25 2 21 16 08 pm

$data di selezione
yy mmm ddd HH i a
$icu_format
yy MMM eee HH m a
$icu_date
25 feb ven 16 ore 20
$php_format
y M D H i a
$php_date
25 Feb Ven 16 08 pm

$data di selezione
yy m dd HH i a
$icu_format
yy M dd HH m a
$icu_date
25 2 21 16 ore 20
$php_format
e H i a
$php_date
25 2 21 16 08 pm

$data di selezione
aaaa mm gg H i a
$icu_format
aaaa MM gg H m a
$icu_date
2025 02 21 16 ore 20
$php_format
Y m d G i a
$php_date
2025 02 21 16 08 pm

$data di selezione
aaaa mm d h i A
$icu_format
aaaa MM d h m a
$icu_date
2025 02 21 4 20:00
$php_format
Y m j g i a
$php_date
2025 02 21 4 08 pm

$pickerdate
yyyy mmmm dddd h i a
$icu_format
yyyy MMMM eeee h m a
$icu_date
2025 febbraio Venerdì 4 ore 20.00
$php_format
Y F l g i a
$php_date
2025 febbraio venerdì 4 08 pm

$data di selezione
aaaa mmm ddd H i A
$icu_format
yyyy MMM eee H m a
$icu_date
2025 Feb Ven 16 20:00
$php_format
Y M D G i a
$php_date
2025 Feb 16 08 pm

$data di selezione
yy mmmm dd HH i a
$icu_format
yy MMMM dd HH m a
$icu_date
25 febbraio 21 16 ore 20
$php_format
y F d H i a
$php_date
25 febbraio 21 16 08 pm

$data di selezione
yy m d HH i a
$icu_format
yy M d HH m a
$icu_date
25 2 21 16 ore 20
$php_format
y n j H i a
$php_date
25 2 21 16 08 pm

$data di selezione
yy mmmm d HH i A
$icu_format
yy MMMM d HH m a
$icu_date
25 febbraio 21 16 ore 20
$php_format
y F j H i a
$php_date
25 febbraio 21 16 08 pm

Pagina principale del tutorial PHP CRUD