test-parse-from-format.phpt 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. --TEST--
  2. date_create_from_format() and date_parse_from_format().
  3. --FILE--
  4. <?php
  5. date_default_timezone_set('Europe/Oslo');
  6. $formats = array( DATE_ATOM, DATE_COOKIE, DATE_ISO8601, DATE_RFC822,
  7. DATE_RFC850, DATE_RFC1036, DATE_RFC1123, DATE_RFC2822, DATE_RFC3339,
  8. DATE_RSS, DATE_W3C );
  9. foreach( $formats as $format )
  10. {
  11. $date = new DateTime( "2008-07-08T22:14:12+02:00" );
  12. $formatted = $date->format( $format ) ;
  13. $date2 = date_create_from_format( $format, $formatted );
  14. var_dump( $format, $formatted, $date2 );
  15. echo "\n";
  16. if ( $date2 === false )
  17. {
  18. var_dump(date_parse_from_format( $format, $formatted ) );
  19. }
  20. }
  21. ?>
  22. --EXPECT--
  23. string(13) "Y-m-d\TH:i:sP"
  24. string(25) "2008-07-08T22:14:12+02:00"
  25. object(DateTime)#2 (3) {
  26. ["date"]=>
  27. string(26) "2008-07-08 22:14:12.000000"
  28. ["timezone_type"]=>
  29. int(1)
  30. ["timezone"]=>
  31. string(6) "+02:00"
  32. }
  33. string(16) "l, d-M-Y H:i:s T"
  34. string(38) "Tuesday, 08-Jul-2008 22:14:12 GMT+0200"
  35. object(DateTime)#1 (3) {
  36. ["date"]=>
  37. string(26) "2008-07-08 22:14:12.000000"
  38. ["timezone_type"]=>
  39. int(1)
  40. ["timezone"]=>
  41. string(6) "+02:00"
  42. }
  43. string(13) "Y-m-d\TH:i:sO"
  44. string(24) "2008-07-08T22:14:12+0200"
  45. object(DateTime)#3 (3) {
  46. ["date"]=>
  47. string(26) "2008-07-08 22:14:12.000000"
  48. ["timezone_type"]=>
  49. int(1)
  50. ["timezone"]=>
  51. string(6) "+02:00"
  52. }
  53. string(16) "D, d M y H:i:s O"
  54. string(29) "Tue, 08 Jul 08 22:14:12 +0200"
  55. object(DateTime)#2 (3) {
  56. ["date"]=>
  57. string(26) "2008-07-08 22:14:12.000000"
  58. ["timezone_type"]=>
  59. int(1)
  60. ["timezone"]=>
  61. string(6) "+02:00"
  62. }
  63. string(16) "l, d-M-y H:i:s T"
  64. string(36) "Tuesday, 08-Jul-08 22:14:12 GMT+0200"
  65. object(DateTime)#1 (3) {
  66. ["date"]=>
  67. string(26) "2008-07-08 22:14:12.000000"
  68. ["timezone_type"]=>
  69. int(1)
  70. ["timezone"]=>
  71. string(6) "+02:00"
  72. }
  73. string(16) "D, d M y H:i:s O"
  74. string(29) "Tue, 08 Jul 08 22:14:12 +0200"
  75. object(DateTime)#3 (3) {
  76. ["date"]=>
  77. string(26) "2008-07-08 22:14:12.000000"
  78. ["timezone_type"]=>
  79. int(1)
  80. ["timezone"]=>
  81. string(6) "+02:00"
  82. }
  83. string(16) "D, d M Y H:i:s O"
  84. string(31) "Tue, 08 Jul 2008 22:14:12 +0200"
  85. object(DateTime)#2 (3) {
  86. ["date"]=>
  87. string(26) "2008-07-08 22:14:12.000000"
  88. ["timezone_type"]=>
  89. int(1)
  90. ["timezone"]=>
  91. string(6) "+02:00"
  92. }
  93. string(16) "D, d M Y H:i:s O"
  94. string(31) "Tue, 08 Jul 2008 22:14:12 +0200"
  95. object(DateTime)#1 (3) {
  96. ["date"]=>
  97. string(26) "2008-07-08 22:14:12.000000"
  98. ["timezone_type"]=>
  99. int(1)
  100. ["timezone"]=>
  101. string(6) "+02:00"
  102. }
  103. string(13) "Y-m-d\TH:i:sP"
  104. string(25) "2008-07-08T22:14:12+02:00"
  105. object(DateTime)#3 (3) {
  106. ["date"]=>
  107. string(26) "2008-07-08 22:14:12.000000"
  108. ["timezone_type"]=>
  109. int(1)
  110. ["timezone"]=>
  111. string(6) "+02:00"
  112. }
  113. string(16) "D, d M Y H:i:s O"
  114. string(31) "Tue, 08 Jul 2008 22:14:12 +0200"
  115. object(DateTime)#2 (3) {
  116. ["date"]=>
  117. string(26) "2008-07-08 22:14:12.000000"
  118. ["timezone_type"]=>
  119. int(1)
  120. ["timezone"]=>
  121. string(6) "+02:00"
  122. }
  123. string(13) "Y-m-d\TH:i:sP"
  124. string(25) "2008-07-08T22:14:12+02:00"
  125. object(DateTime)#1 (3) {
  126. ["date"]=>
  127. string(26) "2008-07-08 22:14:12.000000"
  128. ["timezone_type"]=>
  129. int(1)
  130. ["timezone"]=>
  131. string(6) "+02:00"
  132. }