|
|
|
ช่วยหน่อยค่ะ พอดีต้องการที่จะคำนวณเวลาจาก format date("d/m/Y H:m:s") แต่ไม่ต้องการคำนวณวันเสาร์อาทิตย์ค่ะ |
|
|
|
|
|
|
|
ได้โค้ตตัวอย่างมาจาก กระทู้เว็บบี้แหละค่ะ
Code (PHP)
<?php
$rdate = mktime(8,0,0,3,30,2011);
$ftart = mktime(8,0,0,3,30,2011);
$online=$rdate-$ftart;
$day = intval( $online / 86400 ); // จำนวนวัน
$hours = intval( ( $online % 86400 ) / 3600 ); // จำนวน ชั่วโมง
$mins = intval( ( ( $online % 86400 ) % 3600 ) / 60 ); // จำนวน นาที
$secs = intval( ( ( ( $online % 86400 ) % 3600) % 60 ) ); // จำนวน วินาที
print "$online -- $day -- $hours-- $mins-- $secs ";
?>
<?
function dateDiv($t1,$t2){ // ส่งวันที่ที่ต้องการเปรียบเทียบ ในรูปแบบ มาตรฐาน 2006-03-27 21:39:12
$t1Arr=splitTime($t1);
$t2Arr=splitTime($t2);
$Time1=mktime($t1Arr["h"], $t1Arr["m"], $t1Arr["s"], $t1Arr["M"], $t1Arr["D"], $t1Arr["Y"]);
$Time2=mktime($t2Arr["h"], $t2Arr["m"], $t2Arr["s"], $t2Arr["M"], $t2Arr["D"], $t2Arr["Y"]);
$TimeDiv=abs($Time2-$Time1);
$Time["D"]=intval($TimeDiv/86400); // จำนวนวัน
$Time["H"]=intval(($TimeDiv%86400)/3600); // จำนวน ชั่วโมง
$Time["M"]=intval((($TimeDiv%86400)%3600)/60); // จำนวน นาที
$Time["S"]=intval(((($TimeDiv%86400)%3600)%60)); // จำนวน วินาที
return $Time;
}
function splitTime($time){ // เวลาในรูปแบบ มาตรฐาน 2006-03-27 21:39:12
$timeArr["Y"]= substr($time,2,2);
$timeArr["M"]= substr($time,5,2);
$timeArr["D"]= substr($time,8,2);
$timeArr["h"]= substr($time,11,2);
$timeArr["m"]= substr($time,14,2);
$timeArr["s"]= substr($time,17,2);
return $timeArr;
}
//------------------------------ ตัวอย่างการใช้งาน
$t1="2006-03-27 21:20:00";
$t2="2006-04-27 22:30:50";
print "<br> $t1 <br> $t2 <br> ";
$time=dateDiv($t1,$t2);
print_r($time);
?>
ควรเพิ่มเติมแก้ไขยังไงดีค่ะเพื่อการคำนวณโดยการตัดวันเสาร์อาทิตย์ออกไม่เอามาคำนวณอ่ะค่ะ รบกวนด้วยค่ะ
ขอบคุณค่ะ -/\-
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2016-12-20 12:43:33 |
By :
nookleaw |
View :
779 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
SELECT sdate,edate FROM table WHERE DAYOFWEEK(sdate) NOT IN('1','7')
|
|
|
|
|
Date :
2016-12-20 13:31:46 |
By :
คนมีเสน่ห์ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
function getBusinessDays($startDate, $endDate)
{
$begin = strtotime($startDate);
$end = strtotime($endDate);
if ($begin > $end)
{
return 'Error';
}
else
{
$days = 0;
while ($begin <= $end)
{
$day = date('N', $begin);
if ( ! in_array($day, [6, 7]))
$days++;
$begin += 86400;
}
return $days;
}
}
echo getBusinessDays('2017-01-01', '2017-01-31');
|
|
|
|
|
Date :
2016-12-20 14:37:07 |
By :
fossil31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|