Advertisement
Guest User

PHP DateTime diff bug

a guest
Mar 27th, 2023
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 14.58 KB | Source Code | 0 0
  1. <?php
  2.  
  3. var_dump('Jan', (new DateTime('2025-01-01 00:00:00'))->diff(new DateTime('2025-01-31 23:59:59')));
  4. var_dump('Feb', (new DateTime('2023-02-01 00:00:00'))->diff(new DateTime('2023-02-28 23:59:59')));
  5. var_dump('Mar', (new DateTime('2023-03-01 00:00:00'))->diff(new DateTime('2023-03-31 23:59:59')));
  6. var_dump('Apr', (new DateTime('2023-04-01 00:00:00'))->diff(new DateTime('2023-04-30 23:59:59')));
  7. var_dump('May', (new DateTime('2023-05-01 00:00:00'))->diff(new DateTime('2023-05-31 23:59:59')));
  8. var_dump('Jun', (new DateTime('2023-06-01 00:00:00'))->diff(new DateTime('2023-06-30 23:59:59')));
  9. var_dump('Jul', (new DateTime('2023-07-01 00:00:00'))->diff(new DateTime('2023-07-31 23:59:59')));
  10. var_dump('Aug', (new DateTime('2023-08-01 00:00:00'))->diff(new DateTime('2023-08-31 23:59:59')));
  11. var_dump('Sep', (new DateTime('2023-09-01 00:00:00'))->diff(new DateTime('2023-09-30 23:59:59')));
  12. var_dump('Oct', (new DateTime('2023-10-01 00:00:00'))->diff(new DateTime('2023-10-31 23:59:59')));
  13. var_dump('Nov', (new DateTime('2023-11-01 00:00:00'))->diff(new DateTime('2023-11-30 23:59:59')));
  14. var_dump('Dec', (new DateTime('2023-12-01 00:00:00'))->diff(new DateTime('2023-12-31 23:59:59')));
  15.  
  16. /*
  17.  
  18. PHP 7.4.29 (cli) (built: Apr 12 2022 20:21:18) ( ZTS Visual C++ 2017 x64 )
  19. Copyright (c) The PHP Group
  20. Zend Engine v3.4.0, Copyright (c) Zend Technologies
  21.     with Xdebug v3.1.6, Copyright (c) 2002-2022, by Derick Rethans
  22.  
  23.     ...\dt.php:3:
  24. string(3) "Jan"
  25.     ...\dt.php:3:
  26. class DateInterval#3 (16) {        
  27.     public $y =>
  28.     int(0)
  29.     public $m =>
  30.     int(0)
  31.     public $d =>
  32.     int(30)
  33.     public $h =>
  34.     int(23)
  35.     public $i =>
  36.     int(59)
  37.     public $s =>
  38.     int(59)
  39.     public $f =>
  40.     double(0)
  41.     public $weekday =>
  42.     int(0)
  43.     public $weekday_behavior =>    
  44.     int(0)
  45.     public $first_last_day_of =>
  46.     int(0)
  47.     public $invert =>
  48.     int(0)
  49.     public $days =>
  50.     int(30)
  51.     public $special_type =>
  52.     int(0)
  53.     public $special_amount =>
  54.     int(0)
  55.     public $have_weekday_relative =>
  56.     int(0)
  57.     public $have_special_relative =>
  58.     int(0)
  59. }
  60.     ...\dt.php:4:
  61. string(3) "Feb"
  62.     ...\dt.php:4:
  63. class DateInterval#2 (16) {
  64.     public $y =>
  65.     int(0)
  66.     public $m =>
  67.     int(0)
  68.     public $d =>
  69.     int(27)
  70.     public $h =>
  71.     int(23)
  72.     public $i =>
  73.     int(59)
  74.     public $s =>
  75.     int(59)
  76.     public $f =>
  77.     double(0)
  78.     public $weekday =>
  79.     int(0)
  80.     public $weekday_behavior =>
  81.     int(0)
  82.     public $first_last_day_of =>
  83.     int(0)
  84.     public $invert =>
  85.     int(0)
  86.     public $days =>
  87.     int(27)
  88.     public $special_type =>
  89.     int(0)
  90.     public $special_amount =>
  91.     int(0)
  92.     public $have_weekday_relative =>
  93.     int(0)
  94.     public $have_special_relative =>
  95.     int(0)
  96. }
  97.     ...\dt.php:5:
  98. string(3) "Mar"
  99.     ...\dt.php:5:
  100. class DateInterval#1 (16) {
  101.     public $y =>
  102.     int(0)
  103.     public $m =>
  104.     int(1)
  105.     public $d =>
  106.     int(2)
  107.     public $h =>
  108.     int(23)
  109.     public $i =>
  110.     int(59)
  111.     public $s =>
  112.     int(59)
  113.     public $f =>
  114.     double(0)
  115.     public $weekday =>
  116.     int(0)
  117.     public $weekday_behavior =>
  118.     int(0)
  119.     public $first_last_day_of =>
  120.     int(0)
  121.     public $invert =>
  122.     int(0)
  123.     public $days =>
  124.     int(30)
  125.     public $special_type =>
  126.     int(0)
  127.     public $special_amount =>
  128.     int(0)
  129.     public $have_weekday_relative =>
  130.     int(0)
  131.     public $have_special_relative =>
  132.     int(0)
  133. }
  134.     ...\dt.php:6:
  135. string(3) "Apr"
  136.     ...\dt.php:6:
  137. class DateInterval#3 (16) {
  138.     public $y =>
  139.     int(0)
  140.     public $m =>
  141.     int(0)
  142.     public $d =>
  143.     int(29)
  144.     public $h =>
  145.     int(23)
  146.     public $i =>
  147.     int(59)
  148.     public $s =>
  149.     int(59)
  150.     public $f =>
  151.     double(0)
  152.     public $weekday =>
  153.     int(0)
  154.     public $weekday_behavior =>
  155.     int(0)
  156.     public $first_last_day_of =>
  157.     int(0)
  158.     public $invert =>
  159.     int(0)
  160.     public $days =>
  161.     int(29)
  162.     public $special_type =>
  163.     int(0)
  164.     public $special_amount =>
  165.     int(0)
  166.     public $have_weekday_relative =>
  167.     int(0)
  168.     public $have_special_relative =>
  169.     int(0)
  170. }
  171.     ...\dt.php:7:
  172. string(3) "May"
  173.     ...\dt.php:7:
  174. class DateInterval#2 (16) {
  175.     public $y =>
  176.     int(0)
  177.     public $m =>
  178.     int(1)
  179.     public $d =>
  180.     int(0)
  181.     public $h =>
  182.     int(23)
  183.     public $i =>
  184.     int(59)
  185.     public $s =>
  186.     int(59)
  187.     public $f =>
  188.     double(0)
  189.     public $weekday =>
  190.     int(0)
  191.     public $weekday_behavior =>
  192.     int(0)
  193.     public $first_last_day_of =>
  194.     int(0)
  195.     public $invert =>
  196.     int(0)
  197.     public $days =>
  198.     int(30)
  199.     public $special_type =>
  200.     int(0)
  201.     public $special_amount =>
  202.     int(0)
  203.     public $have_weekday_relative =>
  204.     int(0)
  205.     public $have_special_relative =>
  206.     int(0)
  207. }
  208.     ...\dt.php:8:
  209. string(3) "Jun"
  210.     ...\dt.php:8:
  211. class DateInterval#1 (16) {
  212.     public $y =>
  213.     int(0)
  214.     public $m =>
  215.     int(0)
  216.     public $d =>
  217.     int(29)
  218.     public $h =>
  219.     int(23)
  220.     public $i =>
  221.     int(59)
  222.     public $s =>
  223.     int(59)
  224.     public $f =>
  225.     double(0)
  226.     public $weekday =>
  227.     int(0)
  228.     public $weekday_behavior =>
  229.     int(0)
  230.     public $first_last_day_of =>
  231.     int(0)
  232.     public $invert =>
  233.     int(0)
  234.     public $days =>
  235.     int(29)
  236.     public $special_type =>
  237.     int(0)
  238.     public $special_amount =>
  239.     int(0)
  240.     public $have_weekday_relative =>
  241.     int(0)
  242.     public $have_special_relative =>
  243.     int(0)
  244. }
  245.     ...\dt.php:9:
  246. string(3) "Jul"
  247.     ...\dt.php:9:
  248. class DateInterval#3 (16) {
  249.     public $y =>
  250.     int(0)
  251.     public $m =>
  252.     int(1)
  253.     public $d =>
  254.     int(0)
  255.     public $h =>
  256.     int(23)
  257.     public $i =>
  258.     int(59)
  259.     public $s =>
  260.     int(59)
  261.     public $f =>
  262.     double(0)
  263.     public $weekday =>
  264.     int(0)
  265.     public $weekday_behavior =>
  266.     int(0)
  267.     public $first_last_day_of =>
  268.     int(0)
  269.     public $invert =>
  270.     int(0)
  271.     public $days =>
  272.     int(30)
  273.     public $special_type =>
  274.     int(0)
  275.     public $special_amount =>
  276.     int(0)
  277.     public $have_weekday_relative =>
  278.     int(0)
  279.     public $have_special_relative =>
  280.     int(0)
  281. }
  282.     ...\dt.php:10:
  283. string(3) "Aug"
  284.     ...\dt.php:10:
  285. class DateInterval#2 (16) {
  286.     public $y =>
  287.     int(0)
  288.     public $m =>
  289.     int(0)
  290.     public $d =>
  291.     int(30)
  292.     public $h =>
  293.     int(23)
  294.     public $i =>
  295.     int(59)
  296.     public $s =>
  297.     int(59)
  298.     public $f =>
  299.     double(0)
  300.     public $weekday =>
  301.     int(0)
  302.     public $weekday_behavior =>
  303.     int(0)
  304.     public $first_last_day_of =>
  305.     int(0)
  306.     public $invert =>
  307.     int(0)
  308.     public $days =>
  309.     int(30)
  310.     public $special_type =>
  311.     int(0)
  312.     public $special_amount =>
  313.     int(0)
  314.     public $have_weekday_relative =>
  315.     int(0)
  316.     public $have_special_relative =>
  317.     int(0)
  318. }
  319.     ...\dt.php:11:
  320. string(3) "Sep"
  321.     ...\dt.php:11:
  322. class DateInterval#1 (16) {
  323.     public $y =>
  324.     int(0)
  325.     public $m =>
  326.     int(0)
  327.     public $d =>
  328.     int(29)
  329.     public $h =>
  330.     int(23)
  331.     public $i =>
  332.     int(59)
  333.     public $s =>
  334.     int(59)
  335.     public $f =>
  336.     double(0)
  337.     public $weekday =>
  338.     int(0)
  339.     public $weekday_behavior =>
  340.     int(0)
  341.     public $first_last_day_of =>
  342.     int(0)
  343.     public $invert =>
  344.     int(0)
  345.     public $days =>
  346.     int(29)
  347.     public $special_type =>
  348.     int(0)
  349.     public $special_amount =>
  350.     int(0)
  351.     public $have_weekday_relative =>
  352.     int(0)
  353.     public $have_special_relative =>
  354.     int(0)
  355. }
  356.     ...\dt.php:12:
  357. string(3) "Oct"
  358.     ...\dt.php:12:
  359. class DateInterval#3 (16) {
  360.     public $y =>
  361.     int(0)
  362.     public $m =>
  363.     int(1)
  364.     public $d =>
  365.     int(1)
  366.     public $h =>
  367.     int(-1)
  368.     public $i =>
  369.     int(59)
  370.     public $s =>
  371.     int(59)
  372.     public $f =>
  373.     double(0)
  374.     public $weekday =>
  375.     int(0)
  376.     public $weekday_behavior =>
  377.     int(0)
  378.     public $first_last_day_of =>
  379.     int(0)
  380.     public $invert =>
  381.     int(0)
  382.     public $days =>
  383.     int(30)
  384.     public $special_type =>
  385.     int(0)
  386.     public $special_amount =>
  387.     int(0)
  388.     public $have_weekday_relative =>
  389.     int(0)
  390.     public $have_special_relative =>
  391.     int(0)
  392. }
  393.     ...\dt.php:13:
  394. string(3) "Nov"
  395.     ...\dt.php:13:
  396. class DateInterval#2 (16) {
  397.     public $y =>
  398.     int(0)
  399.     public $m =>
  400.     int(0)
  401.     public $d =>
  402.     int(29)
  403.     public $h =>
  404.     int(23)
  405.     public $i =>
  406.     int(59)
  407.     public $s =>
  408.     int(59)
  409.     public $f =>
  410.     double(0)
  411.     public $weekday =>
  412.     int(0)
  413.     public $weekday_behavior =>
  414.     int(0)
  415.     public $first_last_day_of =>
  416.     int(0)
  417.     public $invert =>
  418.     int(0)
  419.     public $days =>
  420.     int(29)
  421.     public $special_type =>
  422.     int(0)
  423.     public $special_amount =>
  424.     int(0)
  425.     public $have_weekday_relative =>
  426.     int(0)
  427.     public $have_special_relative =>
  428.     int(0)
  429. }
  430.     ...\dt.php:14:
  431. string(3) "Dec"
  432.     ...\dt.php:14:
  433. class DateInterval#1 (16) {
  434.     public $y =>
  435.     int(0)
  436.     public $m =>
  437.     int(1)
  438.     public $d =>
  439.     int(0)
  440.     public $h =>
  441.     int(23)
  442.     public $i =>
  443.     int(59)
  444.     public $s =>
  445.     int(59)
  446.     public $f =>
  447.     double(0)
  448.     public $weekday =>
  449.     int(0)
  450.     public $weekday_behavior =>
  451.     int(0)
  452.     public $first_last_day_of =>
  453.     int(0)
  454.     public $invert =>
  455.     int(0)
  456.     public $days =>
  457.     int(30)
  458.     public $special_type =>
  459.     int(0)
  460.     public $special_amount =>
  461.     int(0)
  462.     public $have_weekday_relative =>
  463.     int(0)
  464.     public $have_special_relative =>
  465.     int(0)
  466. }
  467.  
  468.  
  469. PHP 8.2.4 (cli) (built: Mar 14 2023 17:54:25) (ZTS Visual C++ 2019 x64)
  470. Copyright (c) The PHP Group
  471. Zend Engine v4.2.4, Copyright (c) Zend Technologies
  472.     with Xdebug v3.2.1, Copyright (c) 2002-2023, by Derick Rethans
  473.  
  474.     ...\dt.php:3:
  475. string(3) "Jan"
  476.     ...\dt.php:3:
  477. class DateInterval#3 (10) {    
  478.     public $y =>
  479.     int(0)
  480.     public $m =>
  481.     int(0)
  482.     public $d =>
  483.     int(30)
  484.     public $h =>
  485.     int(23)
  486.     public $i =>
  487.     int(59)
  488.     public $s =>
  489.     int(59)
  490.     public $f =>
  491.     double(0)
  492.     public $invert =>
  493.     int(0)
  494.     public $days =>
  495.     int(30)
  496.     public $from_string =>
  497.     bool(false)
  498. }
  499.     ...\dt.php:4:
  500. string(3) "Feb"
  501.     ...\dt.php:4:
  502. class DateInterval#2 (10) {
  503.     public $y =>
  504.     int(0)
  505.     public $m =>
  506.     int(0)
  507.     public $d =>
  508.     int(27)
  509.     public $h =>
  510.     int(23)
  511.     public $i =>
  512.     int(59)
  513.     public $s =>
  514.     int(59)
  515.     public $f =>
  516.     double(0)
  517.     public $invert =>
  518.     int(0)
  519.     public $days =>
  520.     int(27)
  521.     public $from_string =>
  522.     bool(false)
  523. }
  524.     ...\dt.php:5:
  525. string(3) "Mar"
  526.     ...\dt.php:5:
  527. class DateInterval#1 (10) {
  528.     public $y =>
  529.     int(0)
  530.     public $m =>
  531.     int(0)
  532.     public $d =>
  533.     int(30)
  534.     public $h =>
  535.     int(23)
  536.     public $i =>
  537.     int(59)
  538.     public $s =>
  539.     int(59)
  540.     public $f =>
  541.     double(0)
  542.     public $invert =>
  543.     int(0)
  544.     public $days =>
  545.     int(30)
  546.     public $from_string =>
  547.     bool(false)
  548. }
  549.     ...\dt.php:6:
  550. string(3) "Apr"
  551.     ...\dt.php:6:
  552. class DateInterval#3 (10) {
  553.     public $y =>
  554.     int(0)
  555.     public $m =>
  556.     int(0)
  557.     public $d =>
  558.     int(29)
  559.     public $h =>
  560.     int(23)
  561.     public $i =>
  562.     int(59)
  563.     public $s =>
  564.     int(59)
  565.     public $f =>
  566.     double(0)
  567.     public $invert =>
  568.     int(0)
  569.     public $days =>
  570.     int(29)
  571.     public $from_string =>
  572.     bool(false)
  573. }
  574.     ...\dt.php:7:
  575. string(3) "May"
  576.     ...\dt.php:7:
  577. class DateInterval#2 (10) {
  578.     public $y =>
  579.     int(0)
  580.     public $m =>
  581.     int(0)
  582.     public $d =>
  583.     int(30)
  584.     public $h =>
  585.     int(23)
  586.     public $i =>
  587.     int(59)
  588.     public $s =>
  589.     int(59)
  590.     public $f =>
  591.     double(0)
  592.     public $invert =>
  593.     int(0)
  594.     public $days =>
  595.     int(30)
  596.     public $from_string =>
  597.     bool(false)
  598. }
  599.     ...\dt.php:8:
  600. string(3) "Jun"
  601.     ...\dt.php:8:
  602. class DateInterval#1 (10) {
  603.     public $y =>
  604.     int(0)
  605.     public $m =>
  606.     int(0)
  607.     public $d =>
  608.     int(29)
  609.     public $h =>
  610.     int(23)
  611.     public $i =>
  612.     int(59)
  613.     public $s =>
  614.     int(59)
  615.     public $f =>
  616.     double(0)
  617.     public $invert =>
  618.     int(0)
  619.     public $days =>
  620.     int(29)
  621.     public $from_string =>
  622.     bool(false)
  623. }
  624.     ...\dt.php:9:
  625. string(3) "Jul"
  626.     ...\dt.php:9:
  627. class DateInterval#3 (10) {
  628.     public $y =>
  629.     int(0)
  630.     public $m =>
  631.     int(0)
  632.     public $d =>
  633.     int(30)
  634.     public $h =>
  635.     int(23)
  636.     public $i =>
  637.     int(59)
  638.     public $s =>
  639.     int(59)
  640.     public $f =>
  641.     double(0)
  642.     public $invert =>
  643.     int(0)
  644.     public $days =>
  645.     int(30)
  646.     public $from_string =>
  647.     bool(false)
  648. }
  649.     ...\dt.php:10:
  650. string(3) "Aug"
  651.     ...\dt.php:10:
  652. class DateInterval#2 (10) {
  653.     public $y =>
  654.     int(0)
  655.     public $m =>
  656.     int(0)
  657.     public $d =>
  658.     int(30)
  659.     public $h =>
  660.     int(23)
  661.     public $i =>
  662.     int(59)
  663.     public $s =>
  664.     int(59)
  665.     public $f =>
  666.     double(0)
  667.     public $invert =>
  668.     int(0)
  669.     public $days =>
  670.     int(30)
  671.     public $from_string =>
  672.     bool(false)
  673. }
  674.     ...\dt.php:11:
  675. string(3) "Sep"
  676.     ...\dt.php:11:
  677. class DateInterval#1 (10) {
  678.     public $y =>
  679.     int(0)
  680.     public $m =>
  681.     int(0)
  682.     public $d =>
  683.     int(29)
  684.     public $h =>
  685.     int(23)
  686.     public $i =>
  687.     int(59)
  688.     public $s =>
  689.     int(59)
  690.     public $f =>
  691.     double(0)
  692.     public $invert =>
  693.     int(0)
  694.     public $days =>
  695.     int(29)
  696.     public $from_string =>
  697.     bool(false)
  698. }
  699.     ...\dt.php:12:
  700. string(3) "Oct"
  701.     ...\dt.php:12:
  702. class DateInterval#3 (10) {
  703.     public $y =>
  704.     int(0)
  705.     public $m =>
  706.     int(0)
  707.     public $d =>
  708.     int(30)
  709.     public $h =>
  710.     int(23)
  711.     public $i =>
  712.     int(59)
  713.     public $s =>
  714.     int(59)
  715.     public $f =>
  716.     double(0)
  717.     public $invert =>
  718.     int(0)
  719.     public $days =>
  720.     int(30)
  721.     public $from_string =>
  722.     bool(false)
  723. }
  724.     ...\dt.php:13:
  725. string(3) "Nov"
  726.     ...\dt.php:13:
  727. class DateInterval#2 (10) {
  728.     public $y =>
  729.     int(0)
  730.     public $m =>
  731.     int(0)
  732.     public $d =>
  733.     int(29)
  734.     public $h =>
  735.     int(23)
  736.     public $i =>
  737.     int(59)
  738.     public $s =>
  739.     int(59)
  740.     public $f =>
  741.     double(0)
  742.     public $invert =>
  743.     int(0)
  744.     public $days =>
  745.     int(29)
  746.     public $from_string =>
  747.     bool(false)
  748. }
  749.     ...\dt.php:14:
  750. string(3) "Dec"
  751.     ...\dt.php:14:
  752. class DateInterval#1 (10) {
  753.     public $y =>
  754.     int(0)
  755.     public $m =>
  756.     int(0)
  757.     public $d =>
  758.     int(30)
  759.     public $h =>
  760.     int(23)
  761.     public $i =>
  762.     int(59)
  763.     public $s =>
  764.     int(59)
  765.     public $f =>
  766.     double(0)
  767.     public $invert =>
  768.     int(0)
  769.     public $days =>
  770.     int(30)
  771.     public $from_string =>
  772.     bool(false)
  773. }
  774.  
  775. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement