我需要在中央时间上午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)) { ?>
但是,在我们服务器的时间里,这一点从未接近准确。我们的服务器应该在美国中部的时区,但是上面的代码再次起作用。
那么有没有一种方法可以指定时间ALONG与指定的时区,以使其正常工作?由于上面的代码没有准确地工作,看起来php使用的是与我们服务器不同的时区。我想要的是内容在中央时间上午9点到下午6点之间显示。我觉得我错过了一些明显的东西。谢谢!
答案 0 :(得分:4)
使用Datetime('now', timezone)
获取当前时间
$curdate = new Datetime('now', new Datetimezone('America/Chicago'));
使用setTime
设置小时和分钟
$openTime = clone $curdate;
$openTime->setTime(9,0);
$endTime = clone $curdate;
$endTime->setTime(18,0);
答案 1 :(得分:0)