Т.к. подобной функции на PHP не существует, пришлось написать свою реализацию:
function get_seconds_to_midnight() { $left_day_hh = 23 - intval(date('H')); $left_day_mm = 59 - intval(date('i')); $left_day_ss = 60 - intval(date('s')); return 3600 * $left_day_hh + 60 * $left_day_mm + $left_day_ss; }
Для тестирования используем следующий код:
echo 'SECONDS: '.get_seconds_to_midnight().'<hr>'; echo 'NOW: '.date('d.m.Y H:i:s').'<hr>'; echo 'MIDNIGHT: '.date('d.m.Y H:i:s', time() + get_seconds_to_midnight()).'<hr>';
Если вкратце. То мы от возможного времени отняли текущее, и получили разницу в секундах перемножив минуты, часы, и все сложив с секундами.