Как я могу вычислить разницу во времени в PHP?
Пример: 2:00 и 3:30.
Я хочу преобразовать время в секунды, а затем вычесть их, а затем перевести обратно в часы и минуты, чтобы узнать разницу. Есть ли более простой способ получить разницу?
Посмотрите на объект 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()) ?>";
Теперь я могу сравнить время пользователя и время сервера! Вы также можете захватить секунды и минуты.