ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: mochiinkz ที่ 23 กันยายน 2011, 18:41:53



หัวข้อ: ช่วยแก้ปัญหา mktime ให้ผมน่อยครับ
เริ่มหัวข้อโดย: mochiinkz ที่ 23 กันยายน 2011, 18:41:53
$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 วัน

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


หัวข้อ: Re: ช่วยแก้ปัญหา mktime ให้ผมน่อยครับ
เริ่มหัวข้อโดย: xmen256k ที่ 23 กันยายน 2011, 18:44:17
แปลงเป็น timestamp ก่อน

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

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


หัวข้อ: Re: ช่วยแก้ปัญหา mktime ให้ผมน่อยครับ
เริ่มหัวข้อโดย: mochiinkz ที่ 23 กันยายน 2011, 18:48:50
ยังไงหรอครับ พอดีผมเปนมือใหม่


หัวข้อ: Re: ช่วยแก้ปัญหา mktime ให้ผมน่อยครับ
เริ่มหัวข้อโดย: xmen256k ที่ 23 กันยายน 2011, 18:53:14
เอ่อ ลองศึกษาคำว่า timestamp ดูครับ

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

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


หัวข้อ: Re: ช่วยแก้ปัญหา mktime ให้ผมน่อยครับ
เริ่มหัวข้อโดย: mochiinkz ที่ 23 กันยายน 2011, 18:56:35
ขอบคุณครับ ขอลองก่อน


หัวข้อ: Re: ช่วยแก้ปัญหา mktime ให้ผมน่อยครับ
เริ่มหัวข้อโดย: mochiinkz ที่ 23 กันยายน 2011, 19:31:30
$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 แล้วแต่ทำต่อไม่ถูกครับ


หัวข้อ: Re: ช่วยแก้ปัญหา mktime ให้ผมน่อยครับ
เริ่มหัวข้อโดย: 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);


หัวข้อ: Re: ช่วยแก้ปัญหา mktime ให้ผมน่อยครับ
เริ่มหัวข้อโดย: mochiinkz ที่ 23 กันยายน 2011, 19:57:41
$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 ทำยังไงหว่า


หัวข้อ: Re: ช่วยแก้ปัญหา mktime ให้ผมน่อยครับ
เริ่มหัวข้อโดย: XXL ที่ 23 กันยายน 2011, 20:24:16
$shipdate = '2011-09-30';
$creditday = 30;
$mydate=date("Y-m-d",strtotime($shipdate)+$creditday*60*60*24);


หัวข้อ: Re: ช่วยแก้ปัญหา mktime ให้ผมน่อยครับ
เริ่มหัวข้อโดย: SpiderManKing ที่ 23 กันยายน 2011, 20:26:57
$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' );
 


หัวข้อ: Re: ช่วยแก้ปัญหา mktime ให้ผมน่อยครับ
เริ่มหัวข้อโดย: mochiinkz ที่ 23 กันยายน 2011, 21:42:16
ขอบคุณ ทุกท่านที่ช่วยเหลือครับตอนนี้ได้แล้ว  :P :'(