El panel de administración de Bootstrap tiene que hacer malabarismos con diferentes formatos de fecha y hora dependiendo de la situación. He aquí cómo funciona.
Lista de los formatos de fecha, fecha-hora y hora utilizados en PHP CRUD Generator
Páginas | Utilización | Idioma | Formato |
---|---|---|---|
LEER listas | Fecha legible traducida según el idioma del usuario | PHP con la extensión intl activada | UCI * |
LEER listas | Fecha legible por humanos NO traducida | PHP sin la extensión intl activada | Formato de fecha PHP ** |
CREAR / ACTUALIZAR formularios | Plugins Datepicker | Javascript | Formatos del plugin Pickadate *** |
Objetos PHP | Campos de fecha, hora y fecha-hora de la base de datos | PHP/MySQL | Y-m-d H:i:s |
*UCI - https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classSimpleDateFormat.html#details
**Listade formatos de fecha de HPP: https://www.php.net/manual/en/function.date.php
***Listade formatos de fecha: https://amsul.ca/pickadate.js/date/
Los formatos de fecha y hora del Generador y del panel de administración
Cuando establece un formato de fecha / hora en una lista READ del generador, su elección se almacena en un archivo interno(generator/database/phpcg/[su_tabla].json).
El formato almacenado es el de Javascript
Los selectores de fecha y hora del formulario de administración utilizarán este formato, + un campo oculto con un sufijo"_submit" para enviar los valores en formato fecha / hora MySQL.
La plantilla de la lista TWIG READ necesitará posteriormente convertir la fecha / hora del valor MySQL al formato legible por humanos.
Para ello, el formato Javascript es convertido por el generador a PHP ICU por generator/class/generator/TemplatesUtilities.php. El formato PHP ICU generado se pasará como argumento en la plantilla TWIG para convertir la fecha / hora de MySQL al formato legible por humanos.
La función es pickerdateToPhpdate($pickerdate)
La clase item construye el valor del objeto utilizando el formato PHP/MySQL (sin conversión de formato)
la plantilla TWIG READ list llama a la función formatDate($fecha, $formato)
en vendor/twig/twig/lib/Twig/Extension/CrudTwigExtension.php
La $fecha
dada está en formato PHP/MySQL y puede ser una fecha, una hora o una fecha-hora.
El $formato
dado es el formato de la UCI.
IntlDateFormatter::formatObject(
) usando Locale::getDefault()
Las fechas que aparecen a continuación se generan a partir de un formato aleatorio utilizando la misma lógica que el generador CRUD.