Convert seconds into days, hours, minutes and seconds

后端 未结 24 2524
说谎
说谎 2020-11-22 16:30

I would like to convert a variable $uptime which is seconds, into days, hours, minutes and seconds.

Example:



        
24条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-11-22 16:49

    With DateInterval :

    $d1 = new DateTime();
    $d2 = new DateTime();
    $d2->add(new DateInterval('PT'.$timespan.'S'));
    
    $interval = $d2->diff($d1);
    echo $interval->format('%a days, %h hours, %i minutes and %s seconds');
    
    // Or
    echo sprintf('%d days, %d hours, %d minutes and %d seconds',
        $interval->days,
        $interval->h,
        $interval->i,
        $interval->s
    );
    
    // $interval->y => years
    // $interval->m => months
    // $interval->d => days
    // $interval->h => hours
    // $interval->i => minutes
    // $interval->s => seconds
    // $interval->days => total number of days
    

提交回复
热议问题