php - 迄今为止添加 X 天,不包括周末

标签 php date

我目前正在开发一个在线订阅应用程序。我在用户选择订阅天数和开始日期方面遇到了一些挑战。然后,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/

相关文章:

linux - 从 shell 脚本中的输入接收时间戳

PHP:如何获取过去特定日期的前一个星期日..?

php_decode 没有按预期工作?

php - Netbeans PHP 函数参数提示

php - shell_exec 在 Linux 服务器上不起作用

regex - 匹配 MM/YYYY 或 m/YYYYY 的正则表达式

java - 使用 GregorianCalendar 自定义日期格式

php - 使用AJAX和PHP输出PDF

javascript - Laravel 5 验证 - 作为 json/ajax 返回

java - 减去日期以获得昨天的日期