12

我有这个变量:

$timestamp = strftime("%Y-%m-%d %h:%M:%S %a", time ());

我只是想增加三个小时并回显出来。

我已经看到了您可以执行 60 * 60 * 3 方法或硬代码“+ 3 hours”的方式,它可以理解这些单词。

获得此结果的最佳方法是什么?

4

7 回答 7

20

最好的方法是您认为更具可读性。以下表达式是相同的:

time() + 3 * 60 * 60

strtotime('+3 hours')
于 2012-06-18T02:37:00.030 回答
9

我总是这样

$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;
于 2012-06-18T04:08:56.767 回答
8
$timestamp = strftime("%Y-%m-%d %h:%M:%S %a", time() + 3*60*60)

3*60*60是最好的方法

于 2012-06-18T02:30:05.037 回答
2

只需添加秒数即可添加小时数:

strtotime($your_date)+2*60*60 

这将在您的约会中增加两个小时。

于 2016-01-29T17:07:46.213 回答
1

您可以使用DateTime::modify添加时间,但我会这样做time()+10800

于 2012-06-18T02:31:17.700 回答
1
$time = new DateTime("+ 3 hour");
$timestamp = $time->format('Y-M-d h:i:s a');

简洁明了:)

于 2012-06-18T02:37:23.923 回答
0

如果你想“现代”:

$d = new DateTime();
$d->add(new DateInterVal('P3H'));
$timestamp = $d->format('Y-M-d h:i:s a');

参考:日期时间对象

于 2012-06-18T02:32:50.437 回答