bug33532.phpt 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. --TEST--
  2. Bug #33532 (Different output for strftime() and date())
  3. --INI--
  4. error_reporting=2047
  5. date.timezone=UTC
  6. --SKIPIF--
  7. <?php
  8. if(PHP_OS == 'Darwin' || defined('PHP_WINDOWS_VERSION_MAJOR')) die("skip strftime uses system TZ on Darwin and Windows");
  9. if (!@strftime('%Z')) die('skip strftime does not support %Z');
  10. ?>
  11. --FILE--
  12. <?php
  13. setlocale(LC_ALL, 'C');
  14. print "TZ has NOT been set\n";
  15. print "Should strftime==datestr? Strftime seems to assume GMT tStamp.\n";
  16. $input = "10:00:00 AM July 1 2005";
  17. print "input " . $input . "\n";
  18. $tStamp = strtotime($input);
  19. print "strftime " . strftime("%r %B%e %Y %Z %z", $tStamp) . "\n";
  20. print "datestr " . date ("H:i:s A F j Y T", $tStamp) . "\n";
  21. print "\nSetting TZ\n";
  22. date_default_timezone_set('Australia/Sydney');
  23. putenv("TZ=Australia/Sydney");
  24. $input = "10:00:00 AM July 1 2005";
  25. print "input " . $input . "\n";
  26. $tStamp = strtotime($input);
  27. print "strftime " . strftime("%r %B%e %Y %Z %z", $tStamp) . "\n";
  28. print "datestr " . date ("H:i:s A F j Y T", $tStamp) . "\n";
  29. ?>
  30. --EXPECT--
  31. TZ has NOT been set
  32. Should strftime==datestr? Strftime seems to assume GMT tStamp.
  33. input 10:00:00 AM July 1 2005
  34. strftime 10:00:00 AM July 1 2005 UTC +0000
  35. datestr 10:00:00 AM July 1 2005 UTC
  36. Setting TZ
  37. input 10:00:00 AM July 1 2005
  38. strftime 10:00:00 AM July 1 2005 AEST +1000
  39. datestr 10:00:00 AM July 1 2005 AEST