目标是让实时聊天链接在工作时间显示在页面上,但在关闭时不显示。 以下 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>
由于打开/关闭时间不涉及分钟,因此您可以使用基于 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>';