我有这个变量:
$timestamp = strftime("%Y-%m-%d %h:%M:%S %a", time ());
我只是想增加三个小时并回显出来。
我已经看到了您可以执行 60 * 60 * 3 方法或硬代码“+ 3 hours”的方式,它可以理解这些单词。
获得此结果的最佳方法是什么?
最好的方法是您认为更具可读性。以下表达式是相同的:
time() + 3 * 60 * 60
strtotime('+3 hours')
我总是这样
$current_time = date('Y-m-d H:i:s');
$new_time = strtotime($current_time . "+3hours");
echo $new_time;
或者
$new_time = mktime(date('H')+3, 0, 0, date('m'), date('d'), date('Y'));
$new_time = date('Y-m-d H:i:s', $new_time);
echo $new_time;
$timestamp = strftime("%Y-%m-%d %h:%M:%S %a", time() + 3*60*60)
3*60*60
是最好的方法
只需添加秒数即可添加小时数:
strtotime($your_date)+2*60*60
这将在您的约会中增加两个小时。
您可以使用DateTime::modify
添加时间,但我会这样做time()+10800
。
$time = new DateTime("+ 3 hour");
$timestamp = $time->format('Y-M-d h:i:s a');
简洁明了:)
如果你想“现代”:
$d = new DateTime();
$d->add(new DateInterVal('P3H'));
$timestamp = $d->format('Y-M-d h:i:s a');
参考:日期时间对象