如何使用strtotime输出正确的日期?
问题描述:
我希望我的$ curdate每次点击按钮时添加2天。 但我总是得到输出“01-01-1970”如何使用strtotime输出正确的日期?
我总是得到那个输出。
这里是我的代码:
$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天。
任何人都可以帮助我吗? 谢谢
答
$curdate = date('m-d-Y');
将给出格式为-
分隔符和日期前一个月的日期。
根据PHP's documented rules的strtotime()将识别日期与-
分隔为英国/欧洲格式的日期,所以像01-15-2016
的日期将是无效的
编辑
$curDate = new DateTime();
echo $curDate->add(new DateInterval('P2D'))->format('m-d-Y');
$ CURDATE
什么是正确的代码是什么? – Adi
正确的代码将停止字符串表示和UNIX时间戳之间的黑客攻击,并尽一切使用时间戳(甚至更好,datetime对象)和专用格式显示目的 –
这里你的计算是针对 回声日期正确的代码('md-Y',strtotime(“+ $ days days”)); OMG! – Adi