如何使用PHP每隔一天在某个时间显示一个变量


How can I use PHP to display a variable every other day at a certain time?

上下文

我想每隔一天使用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
}
?>