|
|
|
สอบถาม การเพิ่มวันที่ทำการแล้วคำนวณ อัตโนมัติ โดยไม่นับวันหยุด เสาร์-อาทิตย์ |
|
|
|
|
|
|
|
Code (PHP)
<?php
$w_nm=array('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');
function targettime($cur_day, $add){
$cur_time = strtotime($cur_day);
$addday = $add + (floor(($add-1) / 5)*2);
$target=strtotime('+'.$addday.' day', $cur_time);
$dw=date('w', $target);
if($dw=='0'||$dw=='6') $target=strtotime('+2 day', $target);
return $target;
}
$cur_day = '2015-08-31';
for($i=1; $i<20; $i++){
$rs=targettime($cur_day, $i);
echo $w_nm[date('w', $rs)],' ', date('Y-m-d', $rs),'<br>';
}
|
ประวัติการแก้ไข 2015-08-30 12:42:20
|
|
|
|
Date :
2015-08-30 12:10:05 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สร้างตาราง เก็บวันพิเศษ แล้วคิวรี่ หาจำนวนวัน ที่อยู่ในช่วงเวลา นำมาบวก
|
|
|
|
|
Date :
2015-08-30 13:38:20 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
function getExtraday($st, $en){
global $db;
$sql = "select count(dte) num_row from dateExtra where dte between '$st' and '$en' ";
if($rs=$db->query($sql)) $ro=$rs->fetch_assoc(); else $ro['num_row']=0;
return intval($ro['num_row']);
}
$db=new mysqli('localhost', 'test','test','test');
$cur_day = '2015-08-31';
$rs = targettime($cur_day, 20);
$ln=getExtraday($cur_day, date('Y-m-d', $rs));
for($i=0; $i<$ln; $i++){
$rs += 24*60*60;
while( ( $dw=intval(date('w', $rs)))==0 || $dw==6 ) $rs += 24*60*60;
if(getExtraday($cur_day, date('Y-m-d', $rs))) $rs += 24*60*60;
}
echo date('Y-m-d', $rs);
ไม่ได้ทดสอบ ลองเอาเองนะครับ
|
|
|
|
|
Date :
2015-08-30 15:09:49 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
บทความนี้น่าจะพอได้ครับ
PHP Checking Work Day , Holiday ตรวจสอบวันหยุด บทความ PHP
|
|
|
|
|
Date :
2015-08-30 15:20:46 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 5 เขียนโดย : NewbiePHP เมื่อวันที่ 2015-08-30 15:09:49
รายละเอียดของการตอบ ::
คำนวนแบบนี้ แต่เพิ่มวันหยุดพิเศษด้วยยังไงครับ รับค่าจาก data base 2 ค่า ปี/เดือน/วันเริ่มต้น และวัน ที่ต้องการเพิ่ม ให้ระบบคำนวนหาวันสิ้นสุดเอง แต่จะทำอย่างไรให้คำนวนได้ ไม่ให้ไปตรงกับวันหยุดครับ รบกวนผู้มีประสบการณ์ ขอบคุณครับ
Code (PHP)
<?php
$w_nm=array('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');
function targettime($cur_day, $add){
$cur_time = strtotime($cur_day);
$addday = $add + (floor(($add-1) / 5)*2);
$target=strtotime('+'.$addday.' day', $cur_time);
$dw=date('w', $target);
if($dw=='0'||$dw=='6') $target=strtotime('+2 day', $target);
return $target;
}
$cur_day = '2015-08-31';
for($i=1; $i<20; $i++){
$rs=targettime($cur_day, $i);
echo $w_nm[date('w', $rs)],' ', date('Y-m-d', $rs),'<br>';
}
?>
|
|
|
|
|
Date :
2015-08-30 22:33:48 |
By :
sansak |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คห 5 ต้องการ ฟังก์ชั่น คห1 นะครับ จับมันมารวมกัน ทดลองเอาหน่อยครับ
|
|
|
|
|
Date :
2015-08-31 04:38:07 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|