cakephp timezone cakephp-3.0

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,

Referencia de MySQL