So the received duration/time format from api is this ;
PT1H1M6S
how can i convert this into seconds using any php function?
Here is the best solution I've encountered with Google on how to convert ISO 8601 values to seconds.
+1 for no preg function use. Right tool for the job in my opinion.
Code credit to RuudBurger - copied from gist: https://gist.github.com/w0rldart/9e10aedd1ee55fc4bc74
/**
* Convert ISO 8601 values like P2DT15M33S
* to a total value of seconds.
*
* @param string $ISO8601
*/
function ISO8601ToSeconds($ISO8601){
$interval = new \DateInterval($ISO8601);
return ($interval->d * 24 * 60 * 60) +
($interval->h * 60 * 60) +
($interval->i * 60) +
$interval->s;
}
echo ISO8601ToSeconds('P20DT15M33S'); // Returns a value of 1728933
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With