我找到了几个关于这个主题的帖子,但我无法让我的功能发挥作用。
如果要添加> 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;
}
答案 0 :(得分:4)
使用Datetime::createFromFormat和DateInterval
$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);