لديك حساب بالفعل؟ دخول
دخول  سجل الأن 
الموقع الآن فى الفترة التجريبية وهذا الجزء غير كامل وجارى العمل عليه، للراغبين في المساعدة برجاء التقدم
[تحسين] [انجليزى] الفرق بين الحاضر والماضى والمستقبل

دالة لحساب الفرق بين الحاضر والماضى والمستقبل بطريقة فعالة - انجليزية مثل (1 year, 25 days)

    function timeago($referencedate=0,$timepointer='',$measureby='', $autotext=true){
     
    if($timepointer == '') $timepointer = time();
    $Raw = $timepointer-$referencedate;
    $Clean = abs($Raw);
    $calcNum = array(array('s', 60),
                     array('m', 60*60),
                     array('h', 60*60*60),
                     array('d', 60*60*60*24),
                     array('y', 60*60*60*24*365));
    $calc = array('s' => array(1, 'second'),
                  'm' => array(60, 'minute'),
                  'h' => array(60*60, 'hour'),
                  'd' => array(60*60*24, 'day'),
                  'y' => array(60*60*24*365, 'year'));
    
    if($measureby == ''){
        $usemeasure = 's';
    
        for($i=0; $i<count($calcNum); $i++){
            if($Clean <= $calcNum[$i][1]){
                $usemeasure = $calcNum[$i][0];
                $i = count($calcNum);
            }       
        }
    }else{
        $usemeasure = $measureby;
    }
    
    $datedifference = floor($Clean/$calc[$usemeasure][0]);
    
    if($autotext==true && ($timepointer==time())){
        if($Raw < 0){
            $prospect = ' from now';
        }else{
            $prospect = ' ago';
        }
    }
    
    if($referencedate != 0){
        if($datedifference == 1){
            return $datedifference . ' ' . $calc[$usemeasure][1] . ' ' . $prospect;
        }else{
            return $datedifference . ' ' . $calc[$usemeasure][1] . 's ' . $prospect;
        }
    }else{
        return 'No input time referenced.';
    }
}