【发布时间】:2014-06-12 23:15:58
【问题描述】:
我需要在中部时间上午 9 点到下午 6 点之间显示内容。我已经尝试了各种方法来使用 php 执行此操作,但结果永远都不准确。我试过的一个例子是:
<?
$openTime = strtotime(date('Y-m-d').' 09:00:00');
$closeTime = strtotime(date('Y-m-d').' 18:00:00');
$currTime = strtotime('now');
if (($openTime <= $currTime) && ($currTime <= $closeTime)) { ?>
但这与我们服务器的时间相差甚远。我们的服务器应该位于美国中部时区,但同样,上面的代码不起作用。
那么有没有一种方法可以在指定时区的同时指定小时数以使其正常工作?由于上面的代码不能正常工作,看起来 php 使用的时区与我们服务器的时区不同。我想要的只是在中部时间上午 9 点到下午 6 点之间显示内容。我觉得我错过了一些明显的东西。谢谢!
【问题讨论】:
-
如果你使用DateTime class,你可以在运行时设置时区,独立于服务器配置。
-
这听起来像我需要的。我也很抱歉,但我是一个完整的 php 新手。我将如何在上述代码中应用该类?
-
查看@Fabricator 的回答