bug49059.phpt 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. --TEST--
  2. Bug #49059 (DateTime::diff() repeats previous sub() operation)
  3. --FILE--
  4. <?php
  5. date_default_timezone_set('Asia/Calcutta');
  6. $date1 = date_create("2009-03-27");
  7. $date2 = date_create("2009-03-01");
  8. print "\$date1 at init: " . $date1->format("Y-m-d") . "\n";
  9. print "\$date2 at init: " . $date2->format("Y-m-d") . "\n";
  10. $diff = $date1->diff($date2);
  11. print "\$date1 after first diff: " . $date1->format("Y-m-d") . "\n";
  12. print "\$diff->days after first diff: " . $diff->days . "\n";
  13. $date1 = $date1->sub(new DateInterval("P2D"));
  14. print "\$date1 after sub: " . $date1->format("Y-m-d") . "\n";
  15. $diff = $date1->diff($date2);
  16. print "\$date1 after second diff (called at \$date1): " .
  17. $date1->format("Y-m-d") . "\n";
  18. print "\$diff->days after second diff: " . $diff->days . "\n";
  19. $diff = $date2->diff($date1);
  20. print "\$date1 after third diff (called at \$date2): " .
  21. $date1->format("Y-m-d") . "\n";
  22. print "\$diff->days after third diff: " . $diff->days . "\n";
  23. ?>
  24. --EXPECT--
  25. $date1 at init: 2009-03-27
  26. $date2 at init: 2009-03-01
  27. $date1 after first diff: 2009-03-27
  28. $diff->days after first diff: 26
  29. $date1 after sub: 2009-03-25
  30. $date1 after second diff (called at $date1): 2009-03-25
  31. $diff->days after second diff: 24
  32. $date1 after third diff (called at $date2): 2009-03-25
  33. $diff->days after third diff: 24