在PHP中将时间格式转换为文本

时间:2012-06-07 13:35:02

标签: php

我有时间说"01:30:00"我想将其转换为one hour,thirty mins,zero seconds

我尝试将数字转换为文字,然后添加."hours".",". ."mins" 但有没有其他方法来获取数据,如时间到单词?

1 个答案:

答案 0 :(得分:3)

快速Google search找到that answer

<?php 
    /*** start time ***/ 
    $start = strtotime('10:30 January 7 2004'); 
    /*** time now in seconds ***/ 
        $now = time(); 
    /*** do the math ***/ 
        $seconds = $now-$start; 

    /** 
     * 
     * @convert seconds to words 
     * 
     * @param INT $seconds 
     * 
     * @return string 
     * 
     */ 
        function secondsToWords($seconds) 
        { 
        /*** number of days ***/ 
                $days=(int)($seconds/86400); 
        /*** if more than one day ***/ 
        $plural = $days > 1 ? 'days' : 'day'; 
        /*** number of hours ***/ 
                $hours = (int)(($seconds-($days*86400))/3600); 
        /*** number of mins ***/ 
        $mins = (int)(($seconds-$days*86400-$hours*3600)/60); 
        /*** number of seconds ***/ 
        $secs = (int)($seconds - ($days*86400)-($hours*3600)-($mins*60)); 
        /*** return the string ***/ 
                return sprintf("%d $plural, %d hours, %d min, %d sec", $days, $hours, $mins, $secs);
        } 

    /*** example usage ***/ 

    /*** start time ***/ 
    $start = strtotime('10:30 January 7 2004'); 
    /*** time now in seconds ***/ 
    $now = time(); 
    /*** do the math ***/ 
    $seconds = $now-$start; 

    /*** show the words ***/ 
    echo secondsToWords($seconds); 

?>