我目前正在开发一个在线订阅应用程序。我在用户选择订阅天数和开始日期方面遇到了一些挑战。然后,PHP 应用程序应该能够计算不包括周末的结束日期。
<form method="post">
<input name="startdate" type="text" />
<input name="numberofdays" type="text" />
</form>
有人可以帮我解决这个问题吗?
最佳答案
取决于startdate
的发送方式,但假设您使用的是Y-m-d,您可以使用DateTime
例如:
<?php
$_POST['startdate'] = '2012-08-14';
$_POST['numberofdays'] = 10;
$d = new DateTime( $_POST['startdate'] );
$t = $d->getTimestamp();
// loop for X days
for($i=0; $i<$_POST['numberofdays']; $i++){
// add 1 day to timestamp
$addDay = 86400;
// get what day it is next day
$nextDay = date('w', ($t+$addDay));
// if it's Saturday or Sunday get $i-1
if($nextDay == 0 || $nextDay == 6) {
$i--;
}
// modify timestamp, add 1 day
$t = $t+$addDay;
}
$d->setTimestamp($t);
echo $d->format( 'Y-m-d' ). "\n";
?>
关于php - 迄今为止添加 X 天,不包括周末,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11958712/