2014-01-26 2 views
1

У меня есть значение, которое является числом на неделю (между 1-52). Я хочу узнать дату (yyyy-mm-dd) в последний день этой недели.найти последний день/дату WEEKOFYEAR с php

Я бы предпочел сделать это в PHP rathe, затем MYSQL.

+0

Удалите тег mysql, если вы хотите получить ответ на php. –

ответ

0

Это может быть легко решена с DateTime::setISODate() методом:

$week = 50; 

$dt = new DateTime(); 
$dt->setISODate($dt->format('o'), $week, 7); 

echo $dt->format('Y-m-d'); 

demo

Или вы можете просто создать DateTime объект (или Отметка времени Unix с strtotime()) с ISO-8601 format как 2014-W50-7:

$week = 50; 
$iso = sprintf("2014-W%02d-7", $week); 

$dt = new DateTime($iso); 
echo $dt->format('Y-m-d'); 

echo date('Y-m-d', strtotime($iso)); # or using strtotime() 

demo

+1

Cheers Glavić, это прекрасно делает! ;) – wildWill