Jump to content

Archived

This topic is now archived and is closed to further replies.

flOid

Convert Seconds into Hours and Minutes

Recommended Posts

I have written a small script which outputs the total number of seconds of a MP3 playlist stored in a database. But I would like to output total hours and minutes of the playlist like "the playlist has a running time of xx hours and xx minutes".

I'm a PHP newbie and bad in maths, so could anyone provide me the needed algo?

Share this post


Link to post
Share on other sites
$totaltime = 360 (seconds)
$hours = (($totaltime / 60) / 60);

echo $hours;



That should give you a decimal point number, like 0.something hours....that would be my best try :S

Share this post


Link to post
Share on other sites
[!--quoteo(post=363795:date=Apr 11 2006, 04:05 PM:name=Twentyoneth)--][div class=\'quotetop\']QUOTE(Twentyoneth @ Apr 11 2006, 04:05 PM) [snapback]363795[/snapback][/div][div class=\'quotemain\'][!--quotec--]
$totaltime = 360 (seconds)
$hours = (($totaltime / 60) / 60);

echo $hours;
That should give you a decimal point number, like 0.something hours....that would be my best try :S
[/quote]

thanx, but that was not what I was looking for, I actually could have done that by myself. What I was looking for was not a decimal number but seperated values for total hours and minutes.

Share this post


Link to post
Share on other sites
Here is function I wrote a while back... It should help you with your problem.
[code]<?php
function time_diff($in_date)
{
    $minute = 60;
    $hour = 60 * 60;
    $day = $hour * 24;
    $now = time();
    $start = strtotime($in_date);
    $seconds_left = $now - $start;
    $days_left = floor($seconds_left / $day);
    $hours_left = floor(($seconds_left % $day)/$hour);
    $minutes_left = floor((($seconds_left % $day) % $hour) / $minute);
    $seconds = $seconds_left - ($days_left * $day) - ($hours_left * $hour) - ($minutes_left * $minute);
    return (array($days_left,$hours_left,$minutes_left,$seconds));
}

echo '<pre>' . print_r(time_diff('2006-01-01'),true) . '</pre>';


?>[/code]

Ken

Share this post


Link to post
Share on other sites
[!--quoteo(post=363812:date=Apr 11 2006, 04:49 PM:name=kenrbnsn)--][div class=\'quotetop\']QUOTE(kenrbnsn @ Apr 11 2006, 04:49 PM) [snapback]363812[/snapback][/div][div class=\'quotemain\'][!--quotec--]
Here is function I wrote a while back... It should help you with your problem.
[code]<?php
function time_diff($in_date)
{
    $minute = 60;
    $hour = 60 * 60;
    $day = $hour * 24;
    $now = time();
    $start = strtotime($in_date);
    $seconds_left = $now - $start;
    $days_left = floor($seconds_left / $day);
    $hours_left = floor(($seconds_left % $day)/$hour);
    $minutes_left = floor((($seconds_left % $day) % $hour) / $minute);
    $seconds = $seconds_left - ($days_left * $day) - ($hours_left * $hour) - ($minutes_left * $minute);
    return (array($days_left,$hours_left,$minutes_left,$seconds));
}

echo '<pre>' . print_r(time_diff('2006-01-01'),true) . '</pre>';
?>[/code]

Ken
[/quote]

Indeed that was very helpful! My script is working now, thanx a lot! :)

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.