如何使用 strtotime 输出正确的日期


how can i output the right date using strtotime?

我希望我的$curdate每次单击按钮时都添加 2 天。但我总是得到输出"01-01-1970"

我总是得到那个输出。

这是我的代码:

$curdate = date('m-d-Y');
$mydate=getdate(strtotime($curdate));
switch($mydate['wday']){
    case 0: // sun
    case 1: // mon
        $days = 2;
        break;
    case 2:
        $days = 2;
        break;    
    case 3:
        $days = 2;
        break;
    case 4:
        $days = 3;
        break;
    case 5:
        $days = 4;
        break;
}
echo date('m-d-Y', strtotime("$curdate +$days days"));

我希望我的输出是今天加上 2 天的日期。

谁能帮我?谢谢

strtotime的第一个参数是文本字符串,从现在开始有一些日期更改(没有第二个参数),例如:

echo date('m-d-Y', strtotime("+6 days"));    // add six days to now date

所以你不需要在其中使用$cur_date变量:

echo date('m-d-Y', strtotime("+$days days"));

$curdate = date('m-d-Y');将给出一个用-分隔符和前一天的月份格式化的日期。

根据 PHP 的成文规则,strtotime() 会将带有-分隔符的日期识别为英国/欧洲格式的日期,因此像 01-15-2016 这样的日期将是无效

编辑

$curDate = new DateTime();
echo $curDate->add(new DateInterval('P2D'))->format('m-d-Y');

$curdate