DateTime_setISODate_basic1.phpt 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. --TEST--
  2. Test DateTime::setISODate() function : basic functionality
  3. --FILE--
  4. <?php
  5. /* Prototype : public DateTime DateTime::setISODate ( int $year , int $week [, int $day ] )
  6. * Description: Set a date according to the ISO 8601 standard - using weeks and day offsets rather than specific dates.
  7. * Source code: ext/date/php_date.c
  8. * Alias to functions: date_isodate_set
  9. */
  10. echo "*** Testing DateTime::setISODate() : basic functionality ***\n";
  11. //Set the default time zone
  12. date_default_timezone_set("Europe/London");
  13. // Create a deate object
  14. $datetime = new DateTime("2009-01-30 17:57:32");
  15. // Which month is week 40 ?
  16. $datetime->setISODate(2008, 40);
  17. echo "Week 40 of 2009 is in \"" . $datetime->format("F") . "\"\n";
  18. // What date is week week 30 day 3 ?
  19. $datetime->setISODate(2009, 30, 3);
  20. echo "Week 30 day 3 of 2009 is \"" . $datetime->format("D M j") . "\"\n";
  21. // What date was is last year ?
  22. $datetime->setISODate(2008, 30, 3);
  23. echo "..same day last year was \"" . $datetime->format("D M j") . "\"\n";
  24. ?>
  25. ===DONE===
  26. --EXPECTF--
  27. *** Testing DateTime::setISODate() : basic functionality ***
  28. Week 40 of 2009 is in "September"
  29. Week 30 day 3 of 2009 is "Wed Jul 22"
  30. ..same day last year was "Wed Jul 23"
  31. ===DONE===