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

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

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

server time

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

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

echo $diff = date("H",abs(strtotime(date("Y-m-d h:i:s a")) - strtotime(date("Y-m-d 0:0:0 a"))));

Ответы [ 2 ]

1 голос
/ 27 марта 2012

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

<?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");
?>
0 голосов
/ 27 марта 2012

Вот самый простой способ вычисления разницы дат с помощью 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');
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...