strptime_basic.phpt 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. --TEST--
  2. Test strptime() function : basic functionality
  3. --SKIPIF--
  4. <?php
  5. if (!function_exists('strptime')) {
  6. die("skip - strptime() function not available in this build");
  7. }
  8. if(PHP_OS == 'Darwin') die("skip - strptime() behaves differently on Darwin");
  9. ?>
  10. --FILE--
  11. <?php
  12. /* Prototype : array strptime ( string $date , string $format )
  13. * Description: Parse a time/date generated with strftime()
  14. * Source code: ext/standard/datetime.c
  15. */
  16. $orig = setlocale(LC_ALL, 'C');
  17. date_default_timezone_set("GMT");
  18. echo "*** Testing strptime() : basic functionality ***\n";
  19. $input = "10:00:00 AM July 2 1963";
  20. $tstamp = strtotime($input);
  21. $str = strftime("%r %B%e %Y %Z", $tstamp);
  22. var_dump(strptime($str, '%H:%M:%S %p %B %d %Y'));
  23. $str = strftime("%T %D", $tstamp);
  24. var_dump(strptime($str, '%H:%M:%S %m/%d/%y'));
  25. $str = strftime("%A %B %e %R", $tstamp);
  26. var_dump(strptime($str, '%A %B %e %R'));
  27. setlocale(LC_ALL, $orig);
  28. ?>
  29. ===DONE===
  30. --EXPECTF--
  31. *** Testing strptime() : basic functionality ***
  32. array(9) {
  33. ["tm_sec"]=>
  34. int(0)
  35. ["tm_min"]=>
  36. int(0)
  37. ["tm_hour"]=>
  38. int(10)
  39. ["tm_mday"]=>
  40. int(2)
  41. ["tm_mon"]=>
  42. int(6)
  43. ["tm_year"]=>
  44. int(63)
  45. ["tm_wday"]=>
  46. int(2)
  47. ["tm_yday"]=>
  48. int(182)
  49. ["unparsed"]=>
  50. string(4) " GMT"
  51. }
  52. array(9) {
  53. ["tm_sec"]=>
  54. int(0)
  55. ["tm_min"]=>
  56. int(0)
  57. ["tm_hour"]=>
  58. int(10)
  59. ["tm_mday"]=>
  60. int(2)
  61. ["tm_mon"]=>
  62. int(6)
  63. ["tm_year"]=>
  64. int(163)
  65. ["tm_wday"]=>
  66. int(1)
  67. ["tm_yday"]=>
  68. int(182)
  69. ["unparsed"]=>
  70. string(0) ""
  71. }
  72. array(9) {
  73. ["tm_sec"]=>
  74. int(0)
  75. ["tm_min"]=>
  76. int(0)
  77. ["tm_hour"]=>
  78. int(10)
  79. ["tm_mday"]=>
  80. int(2)
  81. ["tm_mon"]=>
  82. int(6)
  83. ["tm_year"]=>
  84. int(0)
  85. ["tm_wday"]=>
  86. int(2)
  87. ["tm_yday"]=>
  88. int(182)
  89. ["unparsed"]=>
  90. string(0) ""
  91. }
  92. ===DONE===