PHP - 添加 1 天到日期格式 mm-dd-yyyy


PHP - add 1 day to date format mm-dd-yyyy

<?php
    $date = "04-15-2013";
    $date = strtotime($date);
    $date = strtotime("+1 day", $date);
    echo date('m-d-Y', $date);
?>

这让我发疯,看起来很简单。我对PHP很陌生,但我无法弄清楚这一点。回声返回01-01-1970 .

$date将来自格式为 m-d-YPOST,我需要添加一天并将其作为新变量以供以后使用。

我是否必须将$date转换为Y-m-d,添加 1 天,然后转换回 m-d-Y?我学习如何使用DateTime会更好吗?

你去吧

$date = "04-15-2013";
$date1 = str_replace('-', '/', $date);
$tomorrow = date('m-d-Y',strtotime($date1 . "+1 days"));
echo $tomorrow;

这将输出

04-16-2013

这两个函数的文档
日期
斯特托时间

$date = DateTime::createFromFormat('m-d-Y', '04-15-2013');
$date->modify('+1 day');
echo $date->format('m-d-Y');

查看实际效果

或在 PHP 5.4+ 中

echo (DateTime::createFromFormat('m-d-Y', '04-15-2013'))->modify('+1 day')->format('m-d-Y');

参考

  • DateTime::createFromFormat()
$date = strtotime("+1 day");
echo date('m-d-y',$date);

使用类似 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, 'Y-m-d');

输出

2000-01-2

strtotime(( 无法识别您使用的格式。取代

$date = "04-15-2013";

$date = "04/15/2013";

或者,如果要使用-请使用以下行,并在前面显示年份:

$date = "2013-04-15";

其实我想要同样的东西,获取一年的倒退日期,对于给定的日期!:-)

有了上述答案的暗示@mohammad莫森尼普尔我通过他给出的链接到达了以下链接!

幸运的是,有一个方法和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, 'Y-m-d');

希望这个答案也能帮助某人! :-(

祝大家好运!