$sleep = gmdate("H:i", 86400 - strtotime($row["SleepTime"]) + strtotime($row["WakeTime"]));
Это работало последовательно. Время, взятое из sql, форматирует 00:00 часов как 1584297000. Так что на всякий случай, если кому-то нужны секунды, это число, которое вам нужно вычесть из своего времени. Вероятно, это отличается от TimeZone к TimeZone; вам нужно будет проверить.