php函数将日期添加到日期

时间:2014-04-10 11:02:15

标签: php

我找到了几个关于这个主题的帖子,但我无法让我的功能发挥作用。 如果要添加> 0的天数,则返回日期= 70-01-01

实施例:     $日期=' 11年12月7日'     $天=' 5'

应该返回17-07-11而不是70-01-01
我需要使用变量,因为$ date和$ days是来自oracle查询的结果。

function addDayswithdate($date,$days)
{
  $originalDate = $date;
  $newDate = date("y-m-d", strtotime($originalDate));

  if ($days>0)
  {
    $var="+". $days ." days";
    $date = strtotime($var, strtotime($newDate));
  }

  $originalDate = $date;
  $newDate = date("y-m-d", strtotime($date));

  return $newDate;
}

5 个答案:

答案 0 :(得分:4)

使用Datetime::createFromFormatDateInterval

$date = DateTime::createFromFormat('d-m-y','12-07-11');
$date->add(new DateInterval('P5D'));
echo $date->format('d-m-Y') . "\n";

答案 1 :(得分:0)

为什么不保持简单?

function addDays($date, $days)
{
   $time = strtotime($date);
   $new_time = $time + (86400 * $days) //86400 seconds per day
   return $new_time;
}

答案 2 :(得分:0)

为什么不这样做:

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

答案 3 :(得分:0)

function addDays($date, $days)
{
    $date_uts = strtotoime($date);
    $add_days = $days*86400;

    $final_date = date('Y-m-d', $date_uts+$add_days);
    return $final_date;
}

答案 4 :(得分:0)

除了使用vanilla php DateTime类之外,如果你必须经常使用日期,你可以使用Carbon

Carbon让你做这样的事情

$date = Carbon::now()->addDays(5);