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

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


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





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







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











เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ