bug50055.phpt 1.0 KB

123456789101112131415161718192021222324252627282930
  1. --TEST--
  2. Bug #50555 (DateTime::sub() allows 'relative' time modifications).
  3. --FILE--
  4. <?php
  5. $now = '2010-03-07 13:21:38 UTC';
  6. //positive DateInterval
  7. $da1 = date_create( $now );
  8. $ds1 = date_create( $now );
  9. $i = DateInterval::createFromDateString('third Tuesday of next month');
  10. echo $da1->format( DateTime::ISO8601 ), "\n";
  11. echo date_add($da1, $i)->format( DateTime::ISO8601 ), "\n";
  12. date_sub($ds1, $i);
  13. //negative DateInterval
  14. $da2 = date_create( $now );
  15. $ds2 = date_create( $now );
  16. $i2 = DateInterval::createFromDateString('third Tuesday of last month');
  17. echo $da2->format( DateTime::ISO8601 ), "\n";
  18. echo date_add($da2, $i2)->format( DateTime::ISO8601 ), "\n";//works
  19. date_sub($ds2, $i);
  20. ?>
  21. --EXPECTF--
  22. 2010-03-07T13:21:38+0000
  23. 2010-04-20T13:21:38+0000
  24. Warning: date_sub(): Only non-special relative time specifications are supported for subtraction in %sbug50055.php on line 9
  25. 2010-03-07T13:21:38+0000
  26. 2010-02-16T13:21:38+0000
  27. Warning: date_sub(): Only non-special relative time specifications are supported for subtraction in %sbug50055.php on line 17