2009-09-09 3 views
0

Hallo все.Weeknumber дата печати

если у меня есть номер недели 42, и мне нужно знать, какие даты есть на этой неделе, может ли sombardy maby сказать мне простой способ получить эту информацию?

танков очень много :)

ответ

2
<?php 
$date = new DateTime('2009W52'); 
echo $date->format(DateTime::RFC850); 

Какие выходы

Monday, 21-Dec-09 00:00:00 EET 

и вы можете изменить его, как

$date->modify("last monday"); 
$date->modify("next monday"); 

недели должен быть нулями на 1-9

0

Я знаю, что вы уже приняли недели ответ, но я чувствую, что этот бит кода также полезен.

$year = date("Y"); 
$week = date("W"); // Can be replaced with '42' for your example. 
$start = strtotime($year.'W'.$week.'1'); 

Это вернет временную метку unix, которую некоторым людям легче манипулировать.

Вы также можете использовать это для PHP 5.1 и выше.

$start = date(datetime::ISO8601, strtotime("2009W421")); 

Используя вышеуказанный метод, вы можете легко отформатировать его.

Надеюсь, что это кому-то поможет.

-Mathew

+0

дата() имеет ограничения, такие как не может превышать 1970-01-01. Встроенный класс DateTime исправляет большинство подобных проблем. – raspi

+0

Вы хотите сказать, ниже 1970? Спасибо за комментарий, я узнал что-то новое сегодня. –

+0

Да, я имел в виду ниже :) – raspi

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