上下文
我想每隔一天使用PHP来更改HTML中的内容。我目前可以实现这一点,然而,我需要在太平洋标准时间上午7:00更改内容。现在,我基本上是使用mktime
和四舍五入从设定的时间点减去当前的time
。一个简单的if
语句负责处理该变量。
代码
<?php
$first_date = mktime(7,0,0,1,1,2014);
$second_date = time();
$offset = $second_date-$first_date;
$this_day = floor($offset/60/60/24);
if ($this_day % 2 == 0) {
//do something
} else {
//do something else
}
?>
就像我之前所说的,代码正在工作,但在太平洋标准时间早上7:00它没有改变。我尝试调整$first_date中的开始时间,但似乎没有帮助。我想我遗漏了一些关于实际时区和如何计算时间的信息。如有任何见解,我们将不胜感激。
我只取开始日期,给它一个时区,然后检查一年中的日期。如果是偶数,早上7点或更晚,做点什么。否则,做其他事情。你唯一的问题是新年。这可能会连续两天显示相同的内容。
<?php
$date = new DateTime(null, new DateTimeZone('America/Los_Angeles'));
if ($date->format('z') % 2 == 0 && $date->format('h') >= 7) {
//do something
} else {
//do something else
}
?>