php - 设置时间并相应地显示页面内容?

标签 php time

我使用以下代码在特定的所需时间显示我的页面内容:

<?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/

相关文章:

php - 使用 select 形式更新 Mysql 中的数据

php - 按钮和选择选项在表单中重叠

c++ - 递归函数的运行时间T(n)

c - 轮询 C 中的时钟周期数 sw

linux - 运行 shell 脚本一段时间

php - SQL子查询问题

php - 使用 Codeigniter 和 Active Record 重用 where 条件的最佳方法

php - 需要清理垃圾邮件数据库

php - 在 PHP 中访问超过 2038 年的日期

python - 有没有一种简单的方法可以在Python中绘制和操作持续时间(小时/分钟/秒)数据?不是日期时间数据