ช่วยแก้ปัญหา mktime ให้ผมน่อยครับ

เริ่มโดย mochiinkz, 23 กันยายน 2011, 18:41:53

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

mochiinkz

$shipdate = 2011-09-30;
$creditday=30;
ผมใช้
$rfqenddate=date($shipdate, mktime(0,0,0,date('m')+0, date('d')+$creditday, date('Y')+0));
แล้วผลลัพธ์ออกมาเป็น 2011-09-30 อยู่ดี ไม่บวกวันให้

ปกติ ถ้าใช้
$rfqenddate=date('Y-m-d', mktime(0,0,0,date('m')+0, date('d')+$creditday, date('Y')+0));
ผลลัพธ์จะบวกให้ จากวันนี้ นับไป 30 วัน

ผมควรทำยังไงดีครับ ให้ใส่ตัว แปล $shipdate แล้วมัน + วันไปให้ผมอีก 30 วัน

รบกวนน่อยครับ

xmen256k

แปลงเป็น timestamp ก่อน

จากนั้น + วันเข้าไป

แล้วก็แปลงกลับเป็นแบบธรรมดาอีกทีครับ

mochiinkz

ยังไงหรอครับ พอดีผมเปนมือใหม่

xmen256k

เอ่อ ลองศึกษาคำว่า timestamp ดูครับ

มันจะเป็นเวลาในลักษณะที่เป็นตัวเลขเยอะๆ 12346949874 อะไรประมาณนี้

สามารถเอาไปคำนวนเพิ่ม ลบ เวลาได้ ครับ

mochiinkz


mochiinkz

$date = explode("-", $shipdate);

$year = $date[0];
$month = $date[1];
$day = $date[2];

$paydate = mktime (0,0,0,$month+0, $day+$creditday, $year+0);

ได้ผลลัพธ์ออกมาเป็น 1319817600 ทำยังไงต่ออ่าครับ เข้าใจว่ามันคือ timestamp แล้วแต่ทำต่อไม่ถูกครับ

thai2ads

$shipdate = 2011-09-30;
$creditday=30;
$mktime=mktime(date("H"),date("i"),date("s"),date("m"),date("d")+$creditday,date("Y"));
$today=date("Y-m-d",$mktim);
รับทำเว็บไซต์ เขียนระบบต่างๆตามที่ต้องการ
รับทำเว็บไซต์ | ทองคำราคาวันนี้

mochiinkz

อ้างถึงจาก: thai2ads ใน 23 กันยายน 2011, 19:43:42
$shipdate = 2011-09-30;
$creditday=30;
$mktime=mktime(date("H"),date("i"),date("s"),date("m"),date("d")+$creditday,date("Y"));
$today=date("Y-m-d",$mktim);


ขอบคุณครับ แต่แบบนี้มันได้ผลลัพธ์เป็นวันนี้ครับ ผมจะเอา $shipdate + วัน $creditday ครับ ซึ่งในที่นี้ควรจะได้ 2011-10-30 ทำยังไงหว่า

XXL

$shipdate = '2011-09-30';
$creditday = 30;
$mydate=date("Y-m-d",strtotime($shipdate)+$creditday*60*60*24);
รถไฟวิ่ง ฉึกฉัก..[direct=1].[/direct][direct=2].[/direct][direct=3].[/direct][direct=4].[/direct][direct=5].[/direct]...ถึงก็ช่าง..ไม่ถึงก็ช่าง..

SpiderManKing

$now   = new DateTime('2011-09-30');
$addDay=10;
echo $now->format( 'd-m-Y' );
echo '<br>';
$now->modify("+{$addDay} days");
echo $now->format( 'd-m-Y' );
 

mochiinkz

ขอบคุณ ทุกท่านที่ช่วยเหลือครับตอนนี้ได้แล้ว  :P :'(