PHP添加和减去给定时间戳的时间

时间:2012-04-13 17:41:11

标签: php

我从mysql获得时间戳,如

2012-04-12 16:42:33

在PHP中如何减去小时数,或者基本上如何更改时区(-3小时)?

3 个答案:

答案 0 :(得分:1)

strtotime('-3 hours', strtotime('2012-04-12 16:42:33'));

http://php.net/manual/en/function.strtotime.php

更改时区在技术上有点棘手,因为格式化时间戳的方式,我们不知道原始时区的时区。所以,这段代码就足够了。

答案 1 :(得分:1)

你应该使用PHP的DateTime。您可以查看supported formats,然后创建一个新对象:

$date=new DateTime("2012-04-12 16:42:33");

此对象还支持更改时区和其他转换。设置新时区(来自PHP手册):

$date->setTimezone(new DateTimeZone('Pacific/Chatham'));

答案 2 :(得分:0)

$hours = 3;

$time_old = "2012-04-12 16:42:33";

$time_new = strtotime($time_old);

$time_new = $time_new - (60 * $hours);

date($time_new);

这样您就可以通过更改$hours来动态更改小时数。