РЕДАКТИРОВАТЬ: два минуса менее чем за минуту. Я подумал, что это крошечный, но интересный запрос.
ОРИГИНАЛЬНЫЙ ЗАПРОС: Я создаю пятинедельный календарь, в который я буду вливать информацию (день и дату и другие вещи).
Я хочу, чтобы верхняя левая ячейка была «текущим» воскресеньем.
Например, если сегодня 12-й день свадьбы, мне нужно найти 9-е Солнце в качестве начала для пробега. Тогда я просто делаю $var = strtotime("+1 day", $var)
для следующих 34 слотов.
Моя проблема в том, чтобы делать это аккуратно, если сегодня воскресенье.
В настоящее время у меня есть:
date_default_timezone_set("Pacific/Honolulu");
$day_now = time();
$current_day= date ("D", $day_now);
if ($current_day == "Sun")
{$day_now = strtotime("+1 day", $day_now);}
$day_now = strtotime("last sunday");
//do stuff/
Мне просто интересно, есть ли более «аккуратный» способ сделать это.
Я попробовал «это воскресенье, последнее воскресенье, воскресенье на этой неделе», но не смог найти ничего, что выбрало бы сегодня как воскресенье и ТАКЖЕ работает до конца недели.
Просто любопытно, если кто-то нашел форму слова, которая работает для этого с strtotime
,
Хорошо strtotime
НЕТ одного решения фразы для текущего запроса («это воскресенье» на всю неделю). (Я бы назвал это ошибкой!)
Связанные обсуждения
Странное поведение strtotime () при использовании относительных дат («на этой неделе»)
а также
Вычисление относительных дат в php с использованием strtotime ()
предложить решения.
Мне нравится мое текущее решение — хотя оно и не элегантное, оно очень читабельное, и я знаю, что если я вернусь к нему через пару лет, я пойму, что происходит.
Надеюсь, «это воскресенье» будет исправлено когда-нибудь вstrtotime
,
Спасибо за вклад.
Других решений пока нет …