Skip to content

Instantly share code, notes, and snippets.

@fdiasr
Created November 10, 2016 18:38
Show Gist options
  • Select an option

  • Save fdiasr/ea03919c2912379fd96f9d1bf313b1eb to your computer and use it in GitHub Desktop.

Select an option

Save fdiasr/ea03919c2912379fd96f9d1bf313b1eb to your computer and use it in GitHub Desktop.
php-datetimezone-bug
<?php
// example 1 - Timestamp is changing
$datetime = new DateTime('2016-11-09 20:00:00', new DateTimeZone('UTC'));
var_dump($datetime->getTimestamp());
$datetime->setTimeZone(new DateTimeZone('-03:00'));
$datetime->setTimeZone(new DateTimeZone('-03:00'));
var_dump($datetime->getTimestamp());
<?php
// example 2 - Timestamp keeps if you use getTimestamp() before second setTimeZone() calls
$datetime = new DateTime('2016-11-09 20:00:00', new DateTimeZone('UTC'));
var_dump($datetime->getTimestamp());
$datetime->setTimeZone(new DateTimeZone('-03:00'));
$datetime->getTimestamp();
$datetime->setTimeZone(new DateTimeZone('-03:00'));
var_dump($datetime->getTimestamp());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment