Получите разницу во времени - PullRequest
1 голос
/ 11 ноября 2010

Как я могу вычислить разницу во времени в PHP?

пример: 2:00 и 3:30.

Я хочу преобразовать время в секунды, затем вычесть их, а затем преобразовать обратно в часы и минуты, чтобы узнать разницу. Есть ли более простой способ получить разницу?

Ответы [ 2 ]

3 голосов
/ 11 ноября 2010

Посмотрите на PHP DateTime объект .

$dateA = new DateTime('2:00');
$dateB = new DateTime('3:00');

$difference = $dateA->diff($dateB);

(при условии, что у вас> = PHP 5.3)

Вы также можете сделать это процедурным способом...

$dateA = strtotime('2:00');
$dateB = strtotime('3:00');

$difference = $dateB - $dateA;

См. Это на CodePad.org .

Вы можете получить смещение часов следующим образом ...

$hours = $difference / 3600;

Если вы имеете дело со временем, которое находится в промежутке между 24-часовым периодом (0:00 - 23:59), вы можете также сделать ...

$hours = (int) date('g', $difference);

Хотя это, вероятно, слишком негибко, чтобы его можно было реализовать.

0 голосов
/ 22 мая 2011

Проверьте эту ссылку ...

http://www.onlineconversion.com/days_between_advanced.htm

Я использовал это для вычисления разницы между временем сервера и местным временем пользователя.Возьмите разницу в часах и добавьте ее в форму при регистрации пользователя.Затем я использую его, чтобы обновить время на сайте для пользователя, когда он что-то делает онлайн.

Как только я начал работать, я переключил эту строку ...

if (form.date1.value == "")
    form.date1.value = s;

на..

    form.date1.value = "<?PHP echo date("m/d/Y H:i:s", time()) ?>";

Теперь я могу сравнить время пользователя и время сервера!Вы также можете захватить секунды и минуты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...