问题简单,但这却浪费了我的时间。
有没有简单的解决方案,可以在 PHP 中添加 GMT+8 的当前时间 30 分钟?
我认为最好的解决方案之一且最简单的是:
date("Y-m-d", strtotime("+30 minutes"))
也许这不是最高效的方法,但它是比较容易理解的方法之一。
这是一个看起来已经有答案的旧问题,但正如上面有人指出的那样,如果你使用DateTime类和PHP < 5.3.0,你不能使用add方法,但你可以使用modify:
$date = new DateTime();
$date->modify("+30 minutes"); //or whatever value you want
modify()
函数,而是像这样使用 $date = new DateTime('+30 minutes');
。该代码可以在不使用修改函数的情况下将时间向前推 30 分钟。 - GrandFelix30分钟后的时间
$newTime = date("Y-m-d H:i:s",strtotime(date("Y-m-d H:i:s")." +30 minutes"))
$timeIn30Minutes = mktime(idate("H"), idate("i") + 30);
或者$timeIn30Minutes = time() + 30*60; // 30 minutes * 60 seconds/minute
结果将是当前时间加上30分钟的UNIX时间戳。
echo $date = date('H:i:s', strtotime('13:00:00 + 30 minutes') );
13:00:00 - 任何输入的时间
30分钟 - 任何您希望的间隔(20小时,10分钟,1秒钟等...)
看起来你需要使用DateTime函数的add方法 - 使用方式如下:
$date = new DateTime();
date_add($date, new DateInterval("PT30M"));
new DateInterval('PT30M')
(已测试! :)) - Willy Barro$ck=2016-09-13 14:12:33;
$endtime = date('H-i-s', strtotime("+05 minutes", strtotime($ck)));
$cur_time=date("Y-m-d H:i:s");
$duration='+5 minutes';
echo date('Y-m-d H:i:s', strtotime($duration, strtotime($cur_time)));
这个问题有点老了,但我经常回来看看 ;p
另一种方法,也是一行代码:
<?= date_create('2111-11-11 00:00:00')->modify("+30 minutes")->format('Y-m-d h:i:s') ?>
或从时间戳返回Y-m-d h:i:s:
<?= date_create('@'.time())->modify("+30 minutes")->format('Y-m-d h:i:s') ?>
或者从时间戳返回时间戳:
<?= date_create('@'.time())->modify("+30 minutes")->format('U') ?>
code
strtotime('2011-11-01 + 2 days'); - Khriz