อีก 120 วันสินค้าจะหมดอายุ จะรู้ได้ยังไงว่าเป็นวันที่เท่าไร บางเดือนมี 30 วัน บางเดือน 28 บางเดือน 31 วัน เอ จะทำยังไงน้อ

เริ่มเขียน 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

ถ้าเปลี่ยนวันที่เริ่มต้นเป็นวันที่ปัจจุบันตลอดมันก็จะนับถอยหลังไปเรื่อยๆ ครับ