我正在处理一个tumblr页面。我有两个不同的html页面背景,我希望DAY背景显示从早上7点到晚上8点,夜晚背景显示从晚上8点到早上7点。
我决定在php中这样做,但是当涉及到php时,我总是新手。我的朋友给我发了一个我可以使用的示例代码。但我不知道该怎么做。你能帮忙吗?
以下是示例代码。
<?php
header('content-type: text/css');
date_default_timezone_set("America/Vancouver");
$now = date('G');
if ($now < 12) {
$bg = '#FFFFFF';
} else {
$bg = '#000000';
}
?>
body {
background: <?php echo $bg; ?>;
}
答案 0 :(得分:6)
date()
将返回服务器本地日期/时间,这意味着如果您的服务器位于美国,例如来自东亚或澳大利亚的用户将看到错误的背景。
我知道这不是你想要的,但我建议用JS运行,它运行用户端而不是服务器端,因此时区无关紧要,因为脚本将获得用户的时间而不是服务器的时间。该脚本看起来像:
var localDate = new Date();
if (localDate.getHours() > 7 && localDate.getHours() < 20) {
document.bgColor = "#fff";
} else {
document.bgColor = "#000";
}
希望这有帮助!
答案 1 :(得分:1)
尝试更改:
body {
background: <?php echo $bg; ?>;
}
为:
<body style="background-color: <?php echo $bg; ?> !important;">
你的PHP代码对我来说似乎没问题。请注意,它将显示从中午12:00到午夜12:00的白色背景。尝试使用以下代码保持白色背景从上午7:00到晚上8:00,其他时间保持黑色(如Aaron所说)。
替换:
if ($now < 12) {
$bg = '#FFFFFF';
} else {
$bg = '#000000';
}
使用:
if ($now < 7 || $now > 20) {
$bg = '#000000';
} else {
$bg = '#FFFFFF';
}
答案 2 :(得分:0)
您正在使用的date
函数返回当前小时的24小时格式。接下来,在条件中,您应该修改它以检查您所在的范围。如果$now
在7到20之间,您可以将其设置为白天背景。否则,将其设置为夜间。如果您需要更多详细信息,请与我们联系。
<?php
header('content-type: text/css');
date_default_timezone_set("America/Vancouver");
$now = date('G');
if ($now > 7 && $now < 20) {
$bg = '#FFFFFF';
} else {
$bg = '#000000';
}
?>
<body style="background-color:<?php echo $bg; ?> !important;">
<!-- Your HTML code here -->
</body>
答案 3 :(得分:0)
我使用过这样的东西
你的php:
function getUKTime() {
date_default_timezone_set('Europe/London');
$time = date('H');
$style = "";
if ($time >= 6 && $time <= 18) {
$style = $style . "day";
}
else {
$style = $style . "night";
}
echo $style;
}
你的HTML中的:
<div id="uk" class="<?php getUKTime(); ?>">
<h1>U.K.</h1>
</div>
然后设置您的.night或.day类
答案 4 :(得分:0)
您可以设置不同的css文件,一个用于白天,另一个用于夜晚。
$date = getDate();
// check day or night
// it's day by default
$css = "css/main.css";
if ($date['hours'] < 7 || $date['hours'] > 20){
// is night
$css = "css/main-night.css";
}
然后,在<meta>
标记中定义页面的样式文件。
<link href="<?= $css ?>" rel="stylesheet">