PHP Ionic Angular HTML5 AJAX Javascript CSS MySQL jQuery Forum


ฟังก์ชั่นการบวกเวลา และการบวกฟิลด์เวลาในฐานข้อมูล อย่างง่าย

20 July 2015 By Ninenik Narkdee
php บวกเวลา ฐานข้อมูล

คำสั่ง การ กำหนด รูปแบบ ตัวอย่าง เทคนิค ลูกเล่น การประยุกต์ การใช้งาน เกี่ยวกับ php บวกเวลา ฐานข้อมูล



โค้ดตัวอย่างต่อไปนี้จะมีสองส่วน ส่วนแรกจะเป็นฟังก์ชั่น สำหรับทำการบวกเวลา
โดยรุปแบบเวลาของเราจะอยู่ในรุปแบบ 24 ชม. คือ 00:00:00
ข้อมูลเป็นประเภท array เช่น
 
$date=array(
    "17:21:43",
    "98:41:59"
);
หรือกรณีดึงรายการจากฐานข้อมูล
 
<?php
$time_arr=array();
$q="
SELECT timeData FROM tbl_time
";
$qr=mysql_query($q);
while($rs=mysql_fetch_array($qr)){
    $time_arr[]=$rs['timeData'];
}
?>
 
ฟังก์ชั่น php
 
function sumTime($date){
    $ss_num=0;
    if(count($date)>0){
        foreach($date as $v_date){
            $ar_time=explode(":",$v_date);
            $ss_num+=$ar_time[2];
            $ss_num+=($ar_time[1]*60);
            $ss_num+=($ar_time[0]*60*60);
        }
    }
    $time_diff_h=floor($ss_num/3600); // จำนวนชั่วโมงที่ต่างกัน  
    $time_diff_m=floor(($ss_num%3600)/60); // จำวนวนนาทีที่ต่างกัน  
    $time_diff_s=($ss_num%3600)%60; // จำนวนวินาทีที่ต่างกัน  
    
    // กรณีต้องการกำหนดเลข 0 นำหน้าเวลา
    $time_diff_h=str_pad($time_diff_h,2,"0", STR_PAD_LEFT);
    $time_diff_m=str_pad($time_diff_m,2,"0", STR_PAD_LEFT);
    $time_diff_s=str_pad($time_diff_s,2,"0", STR_PAD_LEFT);
//    return $time_diff_h." ชั่วโมง ".$time_diff_m." นาที ".$time_diff_s." วินาที";  
    return $time_diff_h.":".$time_diff_m.":".$time_diff_s;  
}
 
ตัวอย่างการใช้งานแบบเต็ม
 
<?php
function sumTime($date){
    $ss_num=0;
    if(count($date)>0){
        foreach($date as $v_date){
            $ar_time=explode(":",$v_date);
            $ss_num+=$ar_time[2];
            $ss_num+=($ar_time[1]*60);
            $ss_num+=($ar_time[0]*60*60);
        }
    }
    $time_diff_h=floor($ss_num/3600); // จำนวนชั่วโมงที่ต่างกัน  
    $time_diff_m=floor(($ss_num%3600)/60); // จำวนวนนาทีที่ต่างกัน  
    $time_diff_s=($ss_num%3600)%60; // จำนวนวินาทีที่ต่างกัน  
    
    // กรณีต้องการกำหนดเลข 0 นำหน้าเวลา
    $time_diff_h=str_pad($time_diff_h,2,"0", STR_PAD_LEFT);
    $time_diff_m=str_pad($time_diff_m,2,"0", STR_PAD_LEFT);
    $time_diff_s=str_pad($time_diff_s,2,"0", STR_PAD_LEFT);
//    return $time_diff_h." ชั่วโมง ".$time_diff_m." นาที ".$time_diff_s." วินาที";  
    return $time_diff_h.":".$time_diff_m.":".$time_diff_s;  
}
$time_arr=array();
$q="
SELECT timeData FROM tbl_time
";
$qr=mysql_query($q);
while($rs=mysql_fetch_array($qr)){
    $time_arr[]=$rs['timeData'];
}
echo sumTime($time_arr);
?>
 
 
แบบที่สอง แบบรวมค่าฟิลด์เวลา time ในฐานข้อมูล
 
<?php
$timeSum=@mysql_result(@mysql_query("
SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(timeData))) FROM tbl_time
"),0,0);
?>
 
โดยผลัพธ์ที่ได้จะอยู่ในรูปแบบ time

เช่น 26:50:42






Tags:: php บวกเวลา ฐานข้อมูล






อย่าลืมกด Like กด Share เป็นกำลังใจ ในการสร้างบทความใหม่ๆ น่ะครับ


URL สำหรับอ้างอิง