【发布时间】:2014-01-02 12:11:54
【问题描述】:
我确信答案就在我面前,但我的 UTC 日期时间如下所示:
2014-01-02 04:02:58
我想做的只是增加几个小时。
如何在 PHP 中实现这一点?此外,如果我愿意,我将如何添加天数?
【问题讨论】:
我确信答案就在我面前,但我的 UTC 日期时间如下所示:
2014-01-02 04:02:58
我想做的只是增加几个小时。
如何在 PHP 中实现这一点?此外,如果我愿意,我将如何添加天数?
【问题讨论】:
使用DateTime()。与date()/strtotime() 不同,它对时区和夏令时友好。
// PHP 5.2+
$dt = new DateTime('2014-01-02 04:02:58');
$dt->modify('+2 hours');
echo $dt->format('Y-m-d H:i:s');
$dt->modify('+2 days');
echo $dt->format('Y-m-d H:i:s');
或者
// PHP 5.3+
$dt = new DateTime('2014-01-02 04:02:58');
$dt->add(new DateInterval('PT2H'));
echo $dt->format('Y-m-d H:i:s');
$dt->add(new DateInterval('P2D'));
echo $dt->format('Y-m-d H:i:s');
或者
// PHP 5.4+
echo (new DateTime('2014-01-02 04:02:58'))->add(new DateInterval('PT2H'))->format('Y-m-d H:i:s');
参考:
【讨论】:
你可以使用strtotime()试试这样:
echo $new_time = date("Y-m-d H:i:s", strtotime( "2014-01-02 04:02:58".'+3 hours'));
【讨论】: