เริ่มเขียน Function กันก่อนนะคัรบ
function.php
<?php
function expdate($startdate,$datenum){
$startdatec=strtotime($startdate); // ทำให้ข้อความเป็นวินาที
$tod=$datenum*86400; // รับจำนวนวันมาคูณกับวินาทีต่อวัน
$ndate=$startdatec+$tod; // นับบวกไปอีกตามจำนวนวันที่รับมา
return $ndate; // ส่งค่ากลับ
}
?>
function expdate รับ 2 ค่าคือ $startdate คือวันเริ่มต้น $datenum คือจำนวนวันที่ต้องนับไป
test.php
<?php
include('function.php');
// การใช้งาน
$dd=date("Y-m-d H:i:s",time()); //กำหนดวันที่ปัจจุบัน
$dr=expdate($dd,120); //ส่งค่าให้ฟังก์ชั่น วันที่ปัจจุบัน พร้อมจำนวนวัน
$df=date("Y-m-d",$dr); //จัดรูปแบบวันที่ก่อนแสดง
echo $df; //แสดงวันที่ออกมา
?>
ผลลัพธ์ (วันที่ปัจจุบัน 2009-02-18)
2009-06-18 // วันหมดอายุ
หากต้องการนับว่าอีกกี่วันจะหมดอายุก็แบบนี้ครับ
function2.php
<?php
function date_diff($str_start, $str_end)
{
$str_start = strtotime($str_start); // ทำวันที่ให้อยู่ในรูปแบบ timestamp
$str_end = strtotime($str_end); // ทำวันที่ให้อยู่ในรูปแบบ timestamp
$nseconds = $str_end - $str_start; // วันที่ระหว่างเริ่มและสิ้นสุดมาลบกัน
$ndays = round($nseconds / 86400); // หนึ่งวันมี 86400 วินาที
return $ndays;
}
?>
การใช้งาน
test2.php
<?php
include('function2.php');
$df=date_diff("2009-02-18","2009-06-18");
echo $df;
?>
ผลลัพท์
120
ถ้าเปลี่ยนวันที่เริ่มต้นเป็นวันที่ปัจจุบันตลอดมันก็จะนับถอยหลังไปเรื่อยๆ ครับ
แหะๆ...ตอนแรกเข้ามานึกว่าเรื่องของกินของใช้
ออกแนวยังไม่เข้าใจ - - แต่ก้อสวัสดีนะคะ
อยากจะถามว่า ถ้าหากเราทำระบบยืมคืน รับค่าวันที่คืนมาจากฟอร์ม แต่ว่าสามารถเลือกวันที่ได้ไม่เกินสิบวันจากวันที่ปัจจุบันต้องทำอย่างไรคะ