A-AA+then

บวก ลบ เวลาในฐานข้อมูล

2,191
รบกวนสักนิดครับ พอดีมีปัญหาเรื่องการ บวก ลบ เวลา ในฐานข้อมูลครับ เก็บเวลา ไว้ในตาราง timein และ timeout จะนำมาคำนวณได้ แบบไหนบ้างครับ
ขอดูตัวอย่างด้วย ขอบคุณครับ

3 ความคิดเห็น

http://www.goragod.com/index.php?search=time+mysql&module=forum-search
มีครบเลยครับ
ในส่วนตัวผมดึงออกมาก่อนหรือคำนวณก่อนแล้วค่อยนำเข้าครับ
นี้เป็นตัวอย่างครับ
function convert_date($str) {
$d = substr($str, 8, 2);
$m = substr($str, 5, 2);
$y = substr($str, 0, 4);
$y  = $y + 543;
$h = substr($str, 11, 5);
$s = substr($str, 14, 2);
$result = $d.'-'.$m.'-'.$y.' '.$h;
return $result;
}
1

ถ้าต้องการเก็บเวลา เพื่อใช้ในการคำนวณช่วงเวลา ใช้ ข้อมูลชนิดตัวเลขเลยดีกว่ามั้ย

ให้ timein และ timeout เก็บเวลาในรูปตัวเลข mktime จะได้นำมาคำนวณหา ความแตกต่างกันได้เลย

หลายๆคนชอบเก็บเวลาเป็นชนิด DATETIME แต่หารู้ไม่ว่า พอเก็บข้อมูลเป็นชนิดนี้แล้ว การนำมาใช้งานอาจยากกว่าการเก็บเป็นตัวเลข mktime (ปกติผมเก็บเวลาเป็น mktime)

การเลือกเก็บ เป็นข้อมูลชนิดไหน ก็ขึ้นอยู่กับลักษณะการนำไปใช้งานต่อครับ ถ้าเราจำเป็นต้องคำนวณวันที่ ด้วย MySQL เราคงหลีกเลี่ยงที่จะใช้ข้อมูลชนิด DATETIME ไม่ได้ แต่หากเรา ต้องการนำข้อมูลมาเปรียบเทียบ ภายนอกด้วย PHP ก็ควรต้องเก็บเป็นตัวเลข เนื่องจากมันจะคำนวณด้วย PHP ได้ง่ายกว่า
2

// พอดีไปหาที่ google มา ใช้ได้ครับ เผื่อใครอยากเอาไปใช้ ขอบคุณครับ


$start="$timein";
$end="$timeout";
$dif=date("U",mktime(date(substr($end,0,2)-substr($start,0,2)),date(substr($end,3,2)-substr($start,3,2)),date(substr($end,6,2)-substr($start,6,2))));
$time=date('H:i:s', $dif);

echo "$time";
3
^