У меня есть два раза - Для например - текущее время - 08:24 и дата 02/01/2013 в формате dd/mm/yyyy , и у меня есть другой раз в 13:46 и дата - 31/12/2012. Итак, как я могу рассчитать разницу между 2 раза в часах с помощью PHP. (т.е. 42,63 часа) Заранее спасибо.Рассчитать разницу между 2 раза в часах в PHP
ответ
Преобразуйте их оба в значения метки времени, а затем вычтите, чтобы получить разницу в секундах.
$ts1 = strtotime(str_replace('/', '-', '02/01/2013 08:24'));
$ts2 = strtotime(str_replace('/', '-', '31/12/2012 13:46'));
$diff = abs($ts1 - $ts2)/3600;
Отредактировано: strtotime анализирует как m/d/y или dmy, поэтому преобразован/в - до разбора – jcsanyi
это дает разницу, но не дает мне, является ли разница положительной или отрицательной. –
Вы можете просто удалить вызов abs() если вам нужно сохранить знак различия. '($ ts1 - $ ts2)/3600' – jcsanyi
Если у вас есть даты как временные метки (при необходимости используйте strtotime
), то просто вычтите их, по желанию возьмите абсолютное значение, затем разделите на 3600 (количество секунд в час). Easy^_^
Другой способ - использовать классы, связанные с датой PHP. В приведенном ниже примере используется DateTime::diff()
, чтобы получить объект DateInterval
($interval
). Затем он использует свойства интервала для достижения общего количества часов в интервале.
$a = DateTime::createFromFormat('H:i d/m/Y', '08:24 02/01/2013');
$b = DateTime::createFromFormat('H:i d/m/Y', '13:46 31/12/2012');
$interval = $a->diff($b);
$hours = ($interval->days * 24) + $interval->h
+ ($interval->i/60) + ($interval->s/3600);
var_dump($hours); // float(42.633333333333)
Я получил простое решение, попробуйте этот один -
echo getTimeDiff("10:30","11:10");
function getTimeDiff($dtime,$atime)
{
$nextDay = $dtime>$atime?1:0;
$dep = explode(':',$dtime);
$arr = explode(':',$atime);
$diff = abs(mktime($dep[0],$dep[1],0,date('n'),date('j'),date('y'))-mktime($arr[0],$arr[1],0,date('n'),date('j')+$nextDay,date('y')));
$hours = floor($diff/(60*60));
$mins = floor(($diff-($hours*60*60))/(60));
$secs = floor(($diff-(($hours*60*60)+($mins*60))));
if(strlen($hours)<2){$hours="0".$hours;}
if(strlen($mins)<2){$mins="0".$mins;}
if(strlen($secs)<2){$secs="0".$secs;}
return $hours.':'.$mins.':'.$secs;
}
Я думаю, что следующий код полезен, чтобы получить представление о том, как вычислить разницу во времени с помощью PHP
function date_diff($date_1 , $date_2 , $format) {
$datetime1 = date_create($date_1);
$datetime2 = date_create($date_2);
$diff = date_diff($datetime1, $datetime2);
return $diff->format($format);
}
Вышеуказанная функция полезна для вычисления разницы между двумя иными датами. Даты даются как аргументы с выходным форматом.
выходного формата, приведен ниже:
// '% г Год% м Месяц% d день% ч% часы я минутные% S Секунда' => 1 год 3 месяца 14 дня 11 часов 49 мин 36 Секунд // '% y Год% m Месяц% d День' => 1 год 3 месяц 14 дней // '% m Месяц% d День' => 3 Месяц 14 День // '% d День% h Часы '=> 14 день 11 часов //'% d День '=> 14 дней //'% h Hours% i Minute% s Seconds '=> 11 Hours 49 Minute 36 Seconds //'% i Minute% s Секунд '=> 49 минут 36 секунд //'% h Часы => 11 часов // '% a Дни
- 1. Рассчитать разницу (в часах) между двумя раз в PHP
- 2. Рассчитать разницу в часах в datetime
- 3. Рассчитать разницу между 2 раз в MongoDB
- 4. Рассчитать разницу между 2 раз
- 5. Как рассчитать разницу в часах в PHP и JavaScript?
- 6. получить разницу между 2 раза
- 7. Рассчитать разницу в часах между двумя значениями времени даты
- 8. Рассчитать разницу в часах между сегодня и 4/3/NextYear
- 9. Конвертировать разницу между 2 раза в миллисекунды?
- 10. Не удается вычислить разницу между 2 дня в часах
- 11. Проверьте разницу между двумя датами в часах?
- 12. Получить разницу между двумя датами в часах
- 13. Рассчитать разницу между датой/временем в PHP
- 14. Как получить разницу во времени (в часах) между 2 датами
- 15. найти разницу в часах или минутах между 2 java.sql.Timestamps?
- 16. Как рассчитать временную разницу в mongodb (в часах)?
- 17. Рассчитать разницу между двумя раз в Android
- 18. Найти разницу между двумя числами в часах
- 19. Получите разницу в часах между двумя датами
- 20. рассчитать разницу между двумя часами в час
- 21. рассчитать разницу между двумя датами
- 22. Как получить разницу в часах между двумя объектами даты?
- 23. Разница в часах между 2 конкретными днями - PHP
- 24. Рассчитать разницу в часах с другим часовым поясом
- 25. Как рассчитать разницу между временами строк
- 26. Rails: разница между часовыми поясами в часах
- 27. PHP: Рассчитать разницу между значениями массива?
- 28. рассчитать разницу между двумя датами php
- 29. Как вычислить разницу между 2 раза в jquery datetimepicker?
- 30. Разница в часах в PHP
Термин, который вы ищете, это «арифметика даты». –