Получите разницу во времени

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

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

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

Solutions Collecting From Web of "Получите разницу во времени"

Посмотрите на объект 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); 

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

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

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

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

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

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

к …

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

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