Pergunta

I have a value that is the number for the weekofyear (between 1-52 ). I want to find out the date (yyyy-mm-dd) for the last day of that week.

I would prefer to do it in PHP rathe then MYSQL.

Foi útil?

Solução

This can be easily solved with DateTime::setISODate() method:

$week = 50;

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

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

demo

Or you can just create DateTime object (or unix timestamp with strtotime()) with ISO-8601 format like 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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top