|
|
|
มีคำถามเกี่ยวกับ datediff ช่วยเข้ามาดูให้หน่อย ว่าค่าวันเดือนปีที่ได้มันแปลกๆ รึป่าว ;)) |
|
|
|
|
|
|
|
ผมมีคำถามครับ พอดีมันได้ ทำการหาค่านับระยะเวลา สัญญา กับการนับเวลาว่าสัญญาเหลือกี่ปีกี่เดือนกี่วันจะหมด
ระยะเวลาของสัญญาผมว่า มันถูกต้องแล้ว แต่ระยะเวลาที่เหลือสัญญานี่สิ ค่ามันออกมาแปลกๆ ช่วยดูให้หน่อยว่ามันถูกต้องป่าวครับ
จากภาพนะครับ ระยะเวลาสัญญาผมว่าค่าที่ได้ถูกต้องแล้ว ได้จาก วันสิ้นสุดสัญญา-วันที่ทำสัญญ
แต่ระยะเวลาสัญญาที่เหลือผมว่าค่ามันแปลกๆ ได้จาก วันสิ้นสุดสัญญา-วันเดือนปีปัจจุบัน
นี่โค๊ด
Code (PHP)
<td width="89" bgcolor="<? echo "$bg"; ?>" class="style3" style="BORDER-RIGHT: #FF6600 1px dotted;">
<?php //ระยะเวลาสัญญา
$start_date=date('Y-m-d', strtotime($objResult["con_day"])); //วันเดือนปี ที่ทำสัญญา
$expire_date=date('Y-m-d', strtotime($objResult["end_day"])); //วันหมดอายุสัญญา
list($byear, $bmonth, $bday)= explode("-",$start_date); //แยกวันเดือนปี ที่ทำสัญญา
list($tyear, $tmonth, $tday)= explode("-",$expire_date); //แยกวันเดือนปี ที่หมดสัญญา
$mbirthday = mktime(0, 0, 0, $bmonth, $bday, $byear);
$mnow = mktime(0, 0, 0, $tmonth, $tday, $tyear );
$mage = ($mnow - $mbirthday);
$u_y=date("Y", $mage)-1970;
$u_m=date("m",$mage)-1;
$u_d=date("d",$mage)-1;
echo"<br><br>$u_y ปี $u_m เดือน $u_d วัน<br><br>"; //ระยะเวลาสัญญา
?> </td>
<td width="84" bgcolor="<? echo "$bg"; ?>" class="style3" style="BORDER-RIGHT: #FF6600 1px dotted;">
<?php //สัญญาที่เหลือ
$expire_date=date('Y-m-d', strtotime($objResult["end_day"])); //วันเดือนปี ที่หมดสัญญา
$today_date=date('Y-m-d'); //วันที่ปัจจุบัน
list($byear, $bmonth, $bday)= explode("-",$expire_date); //แยกวันเดือนปี ที่หมดสัญญา
list($tyear, $tmonth, $tday)= explode("-",$today_date); //แยกวันเดือนปี วันเดือนปีปัจจุบัน
$mbirthday = mktime(0, 0, 0, $bmonth, $bday, $byear);
$mnow = mktime(0, 0, 0, $tmonth, $tday, $tyear );
$mage = ($mbirthday - $mnow);
$u_y=date("Y", $mage)-1970;
$u_m=date("m",$mage)-1;
$u_d=date("d",$mage)-1;
echo"<br><br>$u_y ปี $u_m เดือน $u_d วัน<br><br>"; //ระยะเวลาที่เหลือ นับถอยหลัง
?></td>
Tag : PHP, MySQL, JavaScript
|
|
|
|
|
|
Date :
2012-09-08 12:23:55 |
By :
compiak |
View :
1381 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมลองปรับโคทคุณดูนิดหน่อยก็ได้ผลลัพธ์น่ะครับ
ลองแบบนี้ครับ
Code (PHP)
$expire_date = $objResult["end_day"]; //วันเดือนปี ที่หมดสัญญา
$today_date=date('Y-m-d'); //วันที่ปัจจุบัน
// ใส่เข้าไปตรงๆเลยครับ ผมทดสอบโดยใส่ $expire_date = '2013-06-30' ผลลัพธ์ที่ผมได้คือ 0 ปี 9 เดือน 22 วัน น่าจะถูกต้องน่ะครับ
|
|
|
|
|
Date :
2012-09-08 14:35:57 |
By :
mangkunzo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ครับผม คิดลึกไป
|
ประวัติการแก้ไข 2012-09-08 14:47:27
|
|
|
|
Date :
2012-09-08 14:41:22 |
By :
compiak |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|