添加2小时到发布时间

时间:2014-06-21 11:21:19

标签: php time

如何在此发布时间内添加2小时?

$config['post_date'] = '%d/%m/%y (%a) %H:%M:%S';

我已经尝试过切换时区,但它没有改变任何东西所以我只是手动添加2个小时。

2 个答案:

答案 0 :(得分:1)

首先,您需要创建一个DateTime对象:

$date = new DateTime('2006-12-12 12:00:00');

然后你可以使用DateTime::modify

$date->modify('+2 hours');

最后,您可以使用DateTime::format格式化日期:

$date->format('Y-m-d H:i:s');

修改

在您的具体情况下,代码如下所示:

$config = array('post_date' => '21/06/14 (Sat) 14:00:00');

$date = DateTime::createFromFormat('d/m/y (D) H:i:s', $config['post_date']);
$date->modify('+2 hours');
$config['post_date'] = $date->format('d/m/y (D) H:i:s');

答案 1 :(得分:1)

您无法直接使用2 hours格式添加strftime。首先将其转换为时间戳,添加小时数,然后输入格式和时间戳。考虑这个例子:

$date = strtotime('+2 hours', time());
$config['post_date'] = '%d/%m/%y (%a) %H:%M:%S'; // strftime format
$config['post_date'] = strftime($config['post_date'], $date);
echo strftime('%d/%m/%y (%a) %H:%M:%S') . '<br/>';
echo $config['post_date'];

输出:

21/06/14 (Sat) 19:59:59
21/06/14 (Sat) 21:59:59