mktime-3-64bit.phpt 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. --TEST--
  2. mktime() [3] (64-bit)
  3. --SKIPIF--
  4. <?php if (PHP_INT_SIZE != 8) die("skip 64-bit only"); ?>
  5. --INI--
  6. error_reporting=2047
  7. --FILE--
  8. <?php
  9. $tzs = array("America/Toronto", "Europe/Oslo");
  10. $years = array(0, 69, 70, 71, 99, 100, 101, 105, 110, 1900, 1901, 1902, 1999, 2000, 2001);
  11. foreach ($tzs as $tz) {
  12. echo $tz, "\n";
  13. date_default_timezone_set($tz);
  14. foreach ($years as $year) {
  15. printf("Y: %4d - ", $year);
  16. $ret = mktime(1, 1, 1, 1, 1, $year);
  17. if ($ret == FALSE) {
  18. echo "out of range\n";
  19. } else {
  20. echo date("F ".DATE_ISO8601, $ret), "\n";
  21. }
  22. }
  23. echo "\n";
  24. }
  25. ?>
  26. --EXPECTF--
  27. America/Toronto
  28. Y: 0 - January 2000-01-01T01:01:01-0500
  29. Y: 69 - January 2069-01-01T01:01:01-0500
  30. Y: 70 - January 1970-01-01T01:01:01-0500
  31. Y: 71 - January 1971-01-01T01:01:01-0500
  32. Y: 99 - January 1999-01-01T01:01:01-0500
  33. Y: 100 - January 2000-01-01T01:01:01-0500
  34. Y: 101 - January 0101-01-01T01:01:01-0%d
  35. Y: 105 - January 0105-01-01T01:01:01-0%d
  36. Y: 110 - January 0110-01-01T01:01:01-0%d
  37. Y: 1900 - January 1900-01-01T01:01:01-0%d
  38. Y: 1901 - January 1901-01-01T01:01:01-0%d
  39. Y: 1902 - January 1902-01-01T01:01:01-0500
  40. Y: 1999 - January 1999-01-01T01:01:01-0500
  41. Y: 2000 - January 2000-01-01T01:01:01-0500
  42. Y: 2001 - January 2001-01-01T01:01:01-0500
  43. Europe/Oslo
  44. Y: 0 - January 2000-01-01T01:01:01+0100
  45. Y: 69 - January 2069-01-01T01:01:01+0100
  46. Y: 70 - January 1970-01-01T01:01:01+0100
  47. Y: 71 - January 1971-01-01T01:01:01+0100
  48. Y: 99 - January 1999-01-01T01:01:01+0100
  49. Y: 100 - January 2000-01-01T01:01:01+0100
  50. Y: 101 - January 0101-01-01T01:01:01+0%d
  51. Y: 105 - January 0105-01-01T01:01:01+0%d
  52. Y: 110 - January 0110-01-01T01:01:01+0%d
  53. Y: 1900 - January 1900-01-01T01:01:01+0%d
  54. Y: 1901 - January 1901-01-01T01:01:01+0%d
  55. Y: 1902 - January 1902-01-01T01:01:01+0100
  56. Y: 1999 - January 1999-01-01T01:01:01+0100
  57. Y: 2000 - January 2000-01-01T01:01:01+0100
  58. Y: 2001 - January 2001-01-01T01:01:01+0100