2010-08-25 3 views

ответ

4

Следует отметить, что strtotime() принимает формат даты недели ISO (например, «2008-W27-2» - вторник 27-й недели в 2008 году), поэтому его можно легко использовать для получения даты данного неделя номер.

Source

+1

'var_dump (strtotime (« 2008-W27-2 »));' возвращает 'false' для меня на PHP 5.1.6, но работает в 5.2.10. 'var_dump (strtotime (« 2008W272 »));' (т. е. без тире) работает в обоих. –

+0

Я не знал формат даты недели ISO. Так оно и должно было спросить здесь 2 часа назад. Большое спасибо – arkansasonline

1
echo date("d m Y", strtotime("2010-W32-3")); 

я думаю ...: р

Edit: W32 является номер недели и 3 является день недели (1-7)

Или, может быть что-то более сложным, как это - его немного бессмысленно, если выше работает, но просто думал об альтернативах ... Я не знаю, будет ли это работать. : p Просто для удовольствия.

echo date("d m Y", strtotime("1-1-2010 + 32 Weeks ".date("N", "Wednesday")." Days")); 

Возможно, но теперь я сжимаю соломинку. :)

+0

Итак, чтобы сделать это в любом году, было бы так же просто, как '$ year = '2010';', а затем 'strtotime ($ year." - W32-3 ")' – bradenkeith

+0

yeah :) 'strtotime ($ year .. "- W" $ неделя "-" $ день недели);. '. –

Смежные вопросы