PHP根据用户选择

时间:2018-01-27 04:05:00

标签: php

我想在当前日期添加'x'天数。日期将由用户选择并添加到当前日期。 以下是我的选择日期代码

<html>
<head>
    <meta charset="UTF-8">
    <title>Date</title>
</head>
<body>
        <form name=date method="post" action="test.php">
            <table style="width: 60%;">
                <tr>
                    <td colspan="2" align="center"><h3>Date</h3></td>
                </tr>
                <tr>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                </tr>
                <tr>
                    <td>No. of Days</td>
                    <td>
                        <select name="days" style="width: 270px">
                            <option value ="Select">Select</option>
                            <option value="7">7</option>
                            <option value ="14">14</option>
                            <option value ="21">21</option>
                            <option value ="28">28</option>
                        </select>
                    </td>
                </tr>
                <tr align="center">
                    <td><input type='submit' value='Submit'></td>
                    <td><input type='reset' value='Reset'></td>
                </tr>

            </table>
        </form>
</body>

以下是提交后的代码

<?php
$date = date("Y-m-d");
$days = $_POST["days"];
echo date('Y-m-d', strtotime($date . ' + '. $_POST["days"]));
?>

但结果将始终显示为“1970-01-01”

希望得到一些提示。提前致谢

2 个答案:

答案 0 :(得分:4)

strtotime()函数中的代码出现问题,请尝试以下任何一种方法获得相同的结果...

strtotime()

echo date('Y-m-d', strtotime($Date. ' + '.$_POST["days"].' days')); 
// This can be also written as strtotime('+'.$_POST['days'].' days '.$Date);

modify()

$date = new DateTime($Date);
$date->modify('+'.$_POST["days"].' day');

答案 1 :(得分:0)

请试试这个

$date=date_create("2013-03-15");
date_add($date,date_interval_create_from_date_string("40 days"));
echo date_format($date,"Y-m-d");