Ceci est une ancienne révision du document !
version: CakePHP 3.0.7
problème: comment récupérer une date qui est au timezone 'Europe/Zurich' et la sauver en UTC dans la base de données ?
code:
bootstrap.php:
/** * 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('UTC');
modèle:
$submission_date = new Time('2015-06-23 10:09:02', 'Europe/Zurich'); //date is in Europe/Zurich timezone $submission_date->setTimezone('UTC'); //date must be saved as UTC $this->patchEntity($entity, ['submission_date' => $submission_date]);
La raison semble être le fait qu'en fonction du timezone configuré, la méthode format()
utilisée en interne pour extraire la valeur de l'objet Time
soit sensible au timezone: elle ne retourne pas le même string, même si le timestamp interne est lui le même.