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'); //but must be saved as UTC $this->patchEntity($entity, ['submission_date' => $submission_date]);
La méthode format()
utilisée en interne pour extraire la valeur de l'objet Time
est sensible au timezone: elle ne retourne pas le même string, même si le timestamp interne à l'objet Time
n'est lui pas modifié par setTimezone()
.