(PHP 5 >= 5.2.0)
DateTime::setISODate — Sets the ISO date
Set a date according to the ISO 8601 standard - using weeks and day offsets rather than specific dates.
Procedural style only: A DateTime object returned by date_create()
Year of the date.
Week of the date.
Offset from the first day of the week.
Returns the modified DateTime.
Пример #1 Finding the date from a week number and day offset
<?php
date_default_timezone_set('Europe/London');
$datetime = new DateTime();
// Offset from start of week 2 (7) = 5
$datetime->setISODate(2008, 2, 5); // Day 5 of week 2 of 2008 is the 11th of January.
// Offset from start of week 2 (7) = 10
$datetime->setISODate(2008, 2, 10); // Day 10 of week 2 of 2008 is the 16th of January.
?>
Пример #2 Finding the month a week is in
<?php
date_default_timezone_set('Europe/London');
$datetime = date_create();
date_isodate_set($datetime, 2008, 6); // Week 6 of 2008 is in February.
?>