我从mysql获得时间戳,如
2012-04-12 16:42:33
在PHP中如何减去小时数,或者基本上如何更改时区(-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
来动态更改小时数。