Вы, вероятно, хотите что-то вроде:
date('Y-m-d H:i:s', time() - 18000);
Форматирует строку как дату и время, для текущего времени в секундах с начала эпохи - 18000 секунд (пять часов). Вы можете отрегулировать число, которое вычитаете, чтобы отрегулировать, сколько часов вы настраиваете. Может быть более понятно, если вы напишите 18000 как (60 * 60 * 5).
strtotime () может иметь неожиданные последствия для строк, где порядок отличается от США. Европейская запись (01/02/2009) будет читаться как 2 января, где это должно быть 1 февраля. Это единственная проблема, которую я вижу в решении olafur, за исключением того, что оно твердое, но оно или то и другое будет работать.