Получение первой / последней даты недели

Можно ли получить первую / последнюю дату недели, используя формат относительной даты и времени PHP ?

Я пытался сделать:

date_default_timezone_set('Europe/Amsterdam');
$date = new DateTime();

$date->modify('first day of this week'); // to get the current week's first date
echo $date->format('Y-m-d'); // outputs 2011-12-19

$date->modify('first day of week 50'); // to get the first date of any week by weeknumber
echo $date->format('Y-m-d'); // outputs 2011-12-18

$date->modify('last day of this week'); // to get the current week's last date
echo $date->format('Y-m-d'); // outputs 2011-12-17

$date->modify('last day of week 50'); // to get the last date of any week by weeknumber
echo $date->format('Y-m-d'); // outputs 2011-12-18

Как вы можете увидеть , он не выводит правильные даты.

Согласно документам это должно быть возможно, если я прав.

Я делаю что-то ужасное не так?

РЕДАКТИРОВАТЬ

Мне нужно использовать PHP DateTime для дат в далеком будущем.

ОБНОВЛЕНИЕ

Теперь это становится только страннее. Я сделал еще несколько тестов.

Windows PHP 5.3.3

2011-12-01

Warning: DateTime::modify() [datetime.modify]: Failed to parse time string (first day of week 50) at position 13 (w): The timezone could not be found in the database in C:\Users\Gerrie\Desktop\ph\Websites\Charts\www.charts.com\public\index.php on line 9
2011-12-01
2011-11-30

Warning: DateTime::modify() [datetime.modify]: Failed to parse time string (last day of week 50) at position 12 (w): The timezone could not be found in the database in C:\Users\Gerrie\Desktop\ph\Websites\Charts\www.charts.com\public\index.php on line 15
2011-11-30

Linux 5.3.8

2011-12-01
2011-12-01
2011-11-30
2011-11-30

18
задан PeeHaa 17 December 2011 в 00:27
поделиться