PHP – 添加1天至date格式mm-dd-yyyy
<?php $date = "04-15-2013"; $date = strtotime($date); $date = strtotime("+1 day", $date); echo date('md-Y', $date); ?>
这让我发疯,似乎很简单。 我很新的PHP,但我不明白这一点。 回声返回01-01-1970
。
$ date将来自一个POST
格式为mdY
,我需要添加一天,并将其作为一个新的variables稍后使用。
我是否必须将$ date转换为Ymd
,添加1天,然后再转换回mdY
? 我会更好地学习如何使用DateTime
?
你去了
$date = "04-15-2013"; $date1 = str_replace('-', '/', $date); $tomorrow = date('md-Y',strtotime($date1 . "+1 days")); echo $tomorrow;
这将输出
04-16-2013
这两个function的文档
date
的strtotime
$date = DateTime::createFromFormat('md-Y', '04-15-2013'); $date->modify('+1 day'); echo $date->format('md-Y');
看到它的行动
或在PHP 5.4以上
echo (DateTime::createFromFormat('md-Y', '04-15-2013'))->modify('+1 day')->format('md-Y');
参考
-
DateTime::createFromFormat()
使用http://www.php.net/manual/en/datetime.add.php就好;
$date = date_create('2000-01-01'); date_add($date, date_interval_create_from_date_string('1 days')); echo date_format($date, 'Ym-d');
产量
2000-01-2
$date = strtotime("+1 day"); echo date('md-y',$date);
您使用的格式不被strtotime()识别。 更换
$date = "04-15-2013";
通过
$date = "04/15/2013";
或者,如果你想使用-
然后在前面的年份使用以下行:
$date = "2013-04-15";
其实我想要的是相同的东西,为了得到一个落后的date,给定的date! 🙂
从@mohammad mohsenipur的上述回答的提示,我通过他给出的链接到以下链接!
幸运的是,有一个与date_add方法相同的方法,名为date_sub方法! :-)我做了以下工作,完成我想要的任务!
$date = date_create('2000-01-01'); date_sub($date, date_interval_create_from_date_string('1 years')); echo date_format($date, 'Ym-d');
希望这个答案也能帮助别人! 🙂
祝大家好运!