bug41523-64bit.phpt 1002 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. --TEST--
  2. Bug #41523 (strtotime('0000-00-00 00:00:00') is parsed as 1999-11-30) (64 bit)
  3. --SKIPIF--
  4. <?php if (PHP_INT_SIZE != 8) die("skip 64-bit only"); ?>
  5. --FILE--
  6. <?php
  7. date_default_timezone_set("UTC");
  8. var_dump( date_parse('0000-00-00 00:00:00') );
  9. var_dump( strtotime('0000-00-00 00:00:00') );
  10. var_dump( $dt = new DateTime('0000-00-00 00:00:00') );
  11. echo $dt->format( DateTime::ISO8601 ), "\n";
  12. ?>
  13. --EXPECT--
  14. array(12) {
  15. ["year"]=>
  16. int(0)
  17. ["month"]=>
  18. int(0)
  19. ["day"]=>
  20. int(0)
  21. ["hour"]=>
  22. int(0)
  23. ["minute"]=>
  24. int(0)
  25. ["second"]=>
  26. int(0)
  27. ["fraction"]=>
  28. float(0)
  29. ["warning_count"]=>
  30. int(1)
  31. ["warnings"]=>
  32. array(1) {
  33. [20]=>
  34. string(27) "The parsed date was invalid"
  35. }
  36. ["error_count"]=>
  37. int(0)
  38. ["errors"]=>
  39. array(0) {
  40. }
  41. ["is_localtime"]=>
  42. bool(false)
  43. }
  44. int(-62169984000)
  45. object(DateTime)#1 (3) {
  46. ["date"]=>
  47. string(27) "-0001-11-30 00:00:00.000000"
  48. ["timezone_type"]=>
  49. int(3)
  50. ["timezone"]=>
  51. string(3) "UTC"
  52. }
  53. -0001-11-30T00:00:00+0000