Мне нужно рассчитать часы, используя время сервера в 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'); ?>