$date = date('Y-m-d',current_time('timestamp', 0));
Run Code Online (Sandbox Code Playgroud)
如何更改$date到$date + 5 days?
PHP版本是5.2.
此代码不起作用:
$date_cur = date('Y-m-d',current_time('timestamp', 0));
echo $date_cur . ' <br>';
$date_cur_plus = date($date_cur, strtotime('+5 days'));
echo $date_cur_plus;
Run Code Online (Sandbox Code Playgroud)
给我:
2011-11-29
2011-11-29
Run Code Online (Sandbox Code Playgroud)
Yes*_*rry 17
您可以使用mktime()时间戳.
就像是:
$date = date('Y-m-d', mktime(0, 0, 0, date('m'), date('d') + 5, date('Y')));
Run Code Online (Sandbox Code Playgroud)
使用strtotime()速度更快,但我的方法仍然有效,并且在您需要进行大量修改时非常灵活.另外,strtotime()无法处理模棱两可的日期.
编辑
如果您必须将5天添加到格式中已存在的日期字符串YYYY-MM-DD,则可以将其拆分为数组并使用这些部分mktime().
$parts = explode('-', $date);
$datePlusFive = date(
'Y-m-d',
mktime(0, 0, 0, $parts[1], $parts[2] + 5, $parts[0])
// ^ Month ^ Day + 5 ^ Year
);
Run Code Online (Sandbox Code Playgroud)
面向对象风格:
<?php
$date = new DateTime('now');
$date->add(new DateInterval('P5D'));
echo $date->format('Y-m-d') . "\n";
?>
Run Code Online (Sandbox Code Playgroud)
程序风格:
<?php
$date = date_create('2016-01-01');
date_add($date, date_interval_create_from_date_string('5 days'));
echo date_format($date, 'Y-m-d');
?>
Run Code Online (Sandbox Code Playgroud)