bug62896.phpt 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. --TEST--
  2. Bug #62896 Unixtimestamp may take on local times DST flag (this test will only be valid during CEST)
  3. --INI--
  4. date.timezone=Europe/Berlin
  5. --FILE--
  6. <?php
  7. $tz = new DateTimeZone('Europe/Berlin');
  8. echo "FROM TIMESTAMP, NO TZ:\n";
  9. $date = new DateTime('@'.strtotime('2012-08-22 00:00:00 CEST'));
  10. echo $date->format('Y-m-d H:i:s T').' (offset '.$date->getOffset().")\n";
  11. $date->modify('+0 days');
  12. echo $date->format('Y-m-d H:i:s T').' (offset '.$date->getOffset().")\n";
  13. echo "FROM TIMESTAMP, WITH TZ:\n";
  14. $date = new DateTime('@'.strtotime('2012-08-22 00:00:00 CEST'));
  15. $date->setTimezone($tz);
  16. echo $date->format('Y-m-d H:i:s T').' (offset '.$date->getOffset().")\n";
  17. $date->modify('+0 days');
  18. echo $date->format('Y-m-d H:i:s T').' (offset '.$date->getOffset().")\n";
  19. echo "FROM STRING:\n";
  20. $date = new DateTime('2012-08-22 00:00:00 CEST', $tz);
  21. echo $date->format('Y-m-d H:i:s T').' (offset '.$date->getOffset().")\n";
  22. $date->modify('+0 days');
  23. echo $date->format('Y-m-d H:i:s T').' (offset '.$date->getOffset().")\n";
  24. ?>
  25. --EXPECT--
  26. FROM TIMESTAMP, NO TZ:
  27. 2012-08-21 22:00:00 GMT+0000 (offset 0)
  28. 2012-08-21 22:00:00 GMT+0000 (offset 0)
  29. FROM TIMESTAMP, WITH TZ:
  30. 2012-08-22 00:00:00 CEST (offset 7200)
  31. 2012-08-22 00:00:00 CEST (offset 7200)
  32. FROM STRING:
  33. 2012-08-22 00:00:00 CEST (offset 7200)
  34. 2012-08-22 00:00:00 CEST (offset 7200)