Establecer la zona horaria no cambia el tiempo mostrado en CakePHP 3.x
timezone cakephp-3.0 (3)
Estoy usando CakePHP 3.x y tengo un problema con las horas.
Tengo las horas correctas en mi base de datos (MySQL). Cuando mi aplicación muestra estas horas, tengo horas en UTC en lugar de mis registros. En otras palabras, tengo 10:00 registrado en mi base de datos y 08:00 en mi sitio web
De acuerdo con el libro de cocina, traté de cambiar
date_default_timezone_set(''UTC'');
a
date_default_timezone_set(''Europe/Paris'');
en config / bootstrap.php
Pero todavía tengo horarios en UTC. Tal vez me perdí algo?
Gracias por adelantado
date_default_timezone_set(''Europe/Paris'');
se usa para mostrar la fecha (''Ym-d'') o información similar en una zona horaria o afectará en el momento de guardar información y se almacenará en la zona horaria paris en lugar de UTC, cambiarla solo afectará la forma en que se guarda la información.Verificar aquí para más información:
http://php.net/manual/en/function.date-default-timezone-set.php
Si desea cambiar la forma en que se mostrará la información en diferentes zonas horarias para cada usuario, siempre guarde la información en una zona horaria siempre, verifique a continuación:
http://book.cakephp.org/3.0/en/views/helpers/time.html#using-the-helper
echo $this->Time->format( $post->created, /IntlDateFormatter::FULL, null, $user->time_zone );
Encontré esta solución:
En config / app.php , deje la timezone
en la matriz de Datasources
vacía:
''Datasources'' => [
''default'' => [
/* previous code */
''timezone'' => '''',
/* next code */
],
]
No sé si es correcto, pero funciona
Para CakePHP 3.0, configure la zona horaria predeterminada en bootstrap.php Línea 95-99
/**
* Set server timezone to UTC. You can change it to another timezone of your
* choice but using UTC makes time calculations / conversions easier.
*/
date_default_timezone_set(''Asia/Karachi'');
Lista de zonas horarias de PHP.
Para mantenerlo sincronizado con la base de datos, también configure la zona horaria de la base de datos en app.php Línea 216-238
''Datasources'' => [
''default'' => [
''className'' => ''Cake/Database/Connection'',
''driver'' => ''Cake/Database/Driver/Mysql'',
''persistent'' => false,
''host'' => ''localhost'',
/**
* CakePHP will use the default DB port based on the driver selected
* MySQL on MAMP uses port 8889, MAMP users will want to uncomment
* the following line and set the port accordingly
*/
//''port'' => ''non_standard_port_number'',
''username'' => ''root'',
''password'' => '''',
''database'' => ''invoicing'',
''encoding'' => ''utf8'',
''timezone'' => ''+8:00'', // It can be UTC or "+10:00" or "-4:00"
''flags'' => [],
''cacheMetadata'' => true,
''log'' => false,