如何在PHP中找到1天前的日期('m.d.Y')? v5.1.6

时间:2014-02-28 17:38:33

标签: php date

在PHP中找到日期(' m.d.Y')格式的最佳方法是从1天前的另一个日期(' m.d.Y')格式中找到的?必须适用于v5.1.6。 我需要构建一个递归方法来迭代前几天。

谢谢!

------------修订-------

$date = date('m.d.Y');
$date = date('m.d.Y', strtotime($date .' -1 day'));

似乎不起作用:( 日期必须以相同的格式开始和结束“m.d.Y'

3 个答案:

答案 0 :(得分:2)

你真的应该考虑使用DateTime,DateInterval和DatePeriod类。举个例子:

$start_date = '12.31.2013';  // your input date
$start_date_time = DateTime::createFromFormat('m.d.Y', $start_date);
$one_day_interval = new DateInterval('P1D');

// iterate X number of days example
$iteration_days = 30; // some value for number of iterations you want
$count_period = new DatePeriod($start_date_time, $one_day_interval, $iteration_days);

foreach($count_period as $day) {
    // do something
}

// iterate between start and end date example
$end_date = '3.31.2014';
$end_date_time = DateTime::createFromFormat('m.d.Y', $end_date);

$date_period = new DatePeriod($start_date_time, $one_day_interval, $end_date_time);

foreach($date_period as $day) {
    // do something
}

答案 1 :(得分:1)

$date = DateTime::createFromFormat('m.d.Y', $yourDate);
$date->sub(new DateInterval('P1D');

答案 2 :(得分:0)

尝试这样:

   $date =date("Y-m-d"); //set your date
   echo date('m.d.Y', strtotime($date .' -1 day'));

演示:https://eval.in/107144