strtotime принимает второй аргумент, который устанавливает время, которое вы хотите, вместо текущего времени
int strtotime (строка $ time [, int $ now])
$ time - формат для имитации
$ сейчас это временная метка для генерации даты из
если задано значение «сейчас», оно переопределяет текущее время.
например. чтобы проверить 18:00 в понедельник, 30 марта, независимо от того, в какое время запускается программа
$format = '2009-03-30 18:00'
$timestamp = mktime(18,0,0,3,30,2009);
strtotime($format,$timestamp);