我使用以下代码在特定的所需时间显示我的页面内容:
<?php
$dt = new DateTime();
$dt->setTimezone(new DateTimeZone('Asia/Jerusalem'));
echo $dt->format('Y-m-d H:i:s');
if ($dt > new DateTime("2015-09-05 01:15:00"))
{
include 'open.php';
}
else {
include 'closed.php';
}
?>
我面临的唯一问题是当我将页面上传到我的真实服务器(ipage)时。 意思是,例如现在的时间是凌晨 2:49,代码正确地回显了时间,但是当我上传页面时,它仍然显示正确的时间,但在凌晨 1:00 或凌晨 2:30 之后不显示页面或凌晨 2:48。
在我的本地服务器上一切运行良好,校正因子为 t -1 例如,如果我想在 13:00 打开页面,我将条件设置为大于 12:00。
是什么原因造成的?如何一劳永逸地解决这个时差问题?
最佳答案
您无法比较像 DateTime 对象这样的对象。
$dt > new DateTime("2015-09-05 01:15:00")
哪些数据相互比较?
与
比较$dt->diff();
(不够准确)
(PHP 5 >= 5.3.0)
DateTime::diff -- DateTimeImmutable::diff -- DateTimeInterface::diff -- date_diff
返回两个 DateTime 对象之间的差异或$dt->format('Y-m-d H:i:s')
2015-09-05 05:00:12 > 2015-09-05 01:15:00
$dt = new DateTime();
$dt2 = new DateTime("2015-09-05 01:15:00");
$dt->setTimezone(new DateTimeZone('Asia/Jerusalem'));
echo $dt->format('Y-m-d H:i:s')." <br />\n";
echo $dt2->format('Y-m-d H:i:s')." <br />\n";
if ($dt->format('Y-m-d H:i:s') > $dt2->format('Y-m-d H:i:s'))
{
include 'open.php';
}
else {
include 'closed.php';
}
关于php - 设置时间并相应地显示页面内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32408090/