& quot; Относительные даты & quot; показывают будущие даты для «этого» ссылка

Я пытаюсь получить понедельник и воскресенье (первый и последний день недели соответственно в Коста-Рике). Итак, я сделал это:

    $now = new \DateTime();

$monday = new \DateTime();
$monday = $monday->modify("monday this week");

$sunday = new \DateTime();
$sunday = $sunday->modify("sunday this week");

echo "timezone: " . date_default_timezone_get();
echo "<br>";
echo "now: " . $now->format('d/m/Y H:i');
echo "<br>";
echo "monday: " . $monday->format('d/m/Y H:i');
echo "<br>";
echo "sunday: " . $sunday->format('d/m/Y H:i');

Выход:

timezone: America/Costa_Rica
now: 26/10/2014 19:01
monday: 27/10/2014 00:00
sunday: 02/11/2014 00:00

Но как возможно, что текущая неделя указывает на будущие даты?

0

Решение

Попробуй это:

$monday = new DateTime();
// create DateTime object with current time

$monday->setISODate($monday->format('o'), $monday->format('W'));
// set object to Monday this week

$sunday = clone $monday;
// clone DateTime object

$sunday->modify('+6 day');
// add 6 days to Monday, to get the Sunday

echo sprintf(
'This week is stared on %s, and ended on %s.',
$monday->format('Y-m-d'),
$sunday->format('Y-m-d')
);
// just print out the result

демонстрация

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]