In this code snippet, we’ll show an example to calculate the duration or distance between a two dates and return a time (formatted).
How to calculate the duration or distance between a two dates and return a time (formatted).
<?php /** * Calculates the duration between a start time and an end time and returns it as a formatted string. * * @param string $startTime The start time in the format 'H:i'. * @param string $endTime The end time in the format 'H:i'. * @return string The duration formatted as 'hh:mm'. */ function getDuration(string $startTime, string $endTime): string { $startTime = DateTime::createFromFormat('H:i', $startTime); $endTime = DateTime::createFromFormat('H:i', $endTime); $startTimestamp = $startTime->getTimestamp(); $endTimestamp = $endTime->getTimestamp(); $minutes = ($endTimestamp - $startTimestamp) / 60; $hours = floor($minutes / 60); $remainingMinutes = $minutes % 60; return sprintf('%02dh:%02dmin', $hours, $remainingMinutes); } echo getDuration('12:00', '13:00') . PHP_EOL; echo getDuration("08:00", "18:34") . PHP_EOL; ?>
MIT Licensed Code – See License
Tags: PHP, date, time, datetime, distance between dates, duration between dates, datetime calculation, php method, php function, function, method