PHP: делать вещи в зависимости от временного диапазона для второго четверга месяца - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть быстрый и, надеюсь, простой вопрос.

Как мне построить следующие логи c в PHP:

  • Если сегодняшняя дата и время до 2-го четверга этого месяца в 18:00, найдите эту дату и задайте ее в строке:
  • Если сегодняшняя дата и время находятся между 2-м четвергом этого месяца в 18:00 и 6:00: 30:00, отобразить сообщение «встреча происходит сейчас»,
  • Если сегодняшняя дата после 2-го четверга этого месяца в 18:30, найдите дату для 2-го четверга следующий месяц в 18:00 и установите его в строку.

Например:

if (date < 2ndThursofThisMonth_At6pm {  
    $meeting="Apr 9, 2020 18:00:00";
}
if (date > 2ndThursofThisMonth_At6pm {  
    echo "meeting happening now";
}
if (date > 2ndThursofThisMonth_At6:30pm {   
    $meeting="May 14, 2020 18:00:00";
}

1 Ответ

2 голосов
/ 03 апреля 2020

Вы можете использовать возможность парсинга даты strtotime, чтобы найти временную метку времени встречи, а затем сравнить текущую временную метку (возвращенную из time()) с ней, чтобы определить, будет ли собрание в будущем, сейчас или в прошлом (в этом случае нам нужно найти время следующего собрания):

$second_thursday = strtotime('second thursday of this month 6pm');
$now = time();
if ($now < $second_thursday) {
    $meeting = date('Y-m-d H:i:s', $second_thursday);
}
elseif ($now <= $second_thursday + 1800) {
    $meeting = 'meeting happening now';
}
else {
    $meeting = date('Y-m-d H:i:s', strtotime('second thursday of next month 6pm'));
}
echo $meeting;

Вывод (по состоянию на 2020-03-04):

2020-04-09 18:00:00

Демонстрация на 3v4l.org

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...