Рассчитать часы назад, используя время сервера в php без какой-либо другой даты

Мне нужно рассчитать часы, используя время сервера в php, без каких-либо других дат MySQL

Время сервера Снимок экрана

время сервера

и я просто путаю себя, как конвертировать время сервера в этот час (6 hours ago)

Вот моя попытка, когда я пробовал себя, но я не уверен, что это правильный путь или нет.

 echo $diff = date("H",abs(strtotime(date("Ymd h:i:sa")) - strtotime(date("Ymd 0:0:0 a")))); 

Попробуйте этот код 🙂

 <?php function timePassed($str) { $sec = time() - strtotime($str); if($sec < 60) { /* if less than a minute, return seconds */ return $sec . " seconds ago"; } else if($sec < 60*60) { /* if less than an hour, return minutes */ return intval($sec / 60) . " minutes ago"; } else if($sec < 24*60*60) { /* if less than a day, return hours */ return intval($sec / 60 / 60) . " hours ago"; } else { /* else returns days */ return intval($sec / 60 / 60 / 24) . " days ago"; } } /* print: 8 hours ago */ echo timePassed("2012-03-27 05:36:25 am"); ?> 

Вот простейший способ рассчитать различия даты с PHP (Object Oriented Way)

 <?php $datetime1 = new DateTime("now"); $datetime2 = new DateTime("now"); $datetime2->setTime(0, 0, 0); $interval = $datetime1->diff($datetime2); echo $interval->format('%R%h hours'); ?>