0

目标是让实时聊天链接在工作时间显示在页面上,但在关闭时不显示。以下 PHP 可在我们的测试服务器上运行,但不能在我们客户端的服务器上运行。任何想法为什么它可以在一个而不是另一个上工作?两者都是通过 GoDaddy 管理的 Apache。

PHP:

<style>
    .timeBasedLink {
    <?php
        date_default_timezone_set('America/Los_Angeles');
        $currentTime = date('H:i a');
        $openTime = "8:00 am";
        $closeTime = "6:00 pm";
        $open = DateTime::createFromFormat('H:i a', $openTime);
        $close = DateTime::createFromFormat('H:i a', $closeTime);
        $open = $open->format('H:i a');
        $close = $close->format('H:i a');
        if ($currentTime > $open && $currentTime < $close)
    { ?>
    display: block;
    <?php
    }
    else
    {
    ?>
    display:none;
    <?php
    }
    ?>
    }
</style>

HTML:

<div class="timeBasedLink">
    Put time-sensitive material here.
</div>
4

1 回答 1

3

由于开/关时间不涉及分钟,因此您可以使用基于 24 小时制的完整整数。而开盘时间是8点(0800),收盘时间是18点(1800)。那么它只是一个简单的 if 语句。为了清楚起见,我将 php 放在 CSS 之上:

date_default_timezone_set('America/Los_Angeles');
$currentHour = date("H");
$openTime = 8;
$closeTime = 18;
if ($currentHour >= $openTime && $currentTime < $closeTime){
    $css = 'display:block;';
}else{
    $css = 'display:none;';
}

echo '<style type="text/css">.timeBasedLink {'.$css.'}</style>';
于 2013-11-11T21:43:21.360 回答