【发布时间】:2009-04-20 09:56:00
【问题描述】:
我正在使用 strtotime 从一些复杂的 XML 创建时间戳,但时区不正确。
如何从时间中删除 5 小时?
【问题讨论】:
我正在使用 strtotime 从一些复杂的 XML 创建时间戳,但时区不正确。
如何从时间中删除 5 小时?
【问题讨论】:
如果你知道时区,你可以用date_default_timezone_set()设置它
设置好后,您可以在 strtotime() 中执行此操作。
strtotime("-5 hours", $time);
【讨论】:
你可能想要这样的东西:
date('Y-m-d H:i:s', time() - 18000);
这会将字符串格式化为日期和时间,表示自纪元以来的当前时间(以秒为单位) - 18000 秒(五个小时)。您可以调整要减去的数字来调整调整的小时数。如果把 18000 写成 (60*60*5) 可能会更清楚。
strtotime() 对于排序与美国不同的字符串可能会产生意想不到的后果。欧洲符号 (01/02/2009) 将被解读为 1 月 2 日,而它的意思是 2 月 1 日。这是我在 olafur 的解决方案中看到的唯一问题,除了它是可靠的,但是这个或那个都可以。
【讨论】: