我正在尝试有一个页面重定向到另一个页面的时间和日期为基础。我想让它在周三晚上7点到8点之间切换,然后在周日上午10点30分到11点30分。
我能够让它工作,尽管从第二页发送回第一页是我遇到的问题。
下面是我使用的代码
<?php
$hour = date('G');
$minute = date('i');
$day = date('w');
$m = $hour * 60 + $minute; // Minutes since midnight.
if(
$day == 7 // Sunday...
&& $m >= 615 // ... after 10:15…
&& $m <= 700 // ... but before 11:40…
) header("Location: open.php");
else if(
$day == 3 // Wednesday...
&& $m >= 1125 // ... after 18:45…
&& $m <= 1235 // ... but before 20:35…
) header("Location: open.php");我试着调换号码,但我要么出错,要么没有重定向。
发布于 2011-09-07 04:15:27
星期天是0而不是7 (php date)
w |星期几的数字表示| 0 (表示周日)到6(表示周六)
这可能会导致错误。
发布于 2013-05-15 01:33:12
下面是我会尝试的几件事:
首先,周日== 0,而不是7。星期六== 6.以及他们之间的所有其他事情。
设置一个时区,以防您在其他地方设置了默认时区,使这两种说法都不成立。
在代码顶部使用date_default_timezone_set()。我在中部时间,所以我会设置
date_default_timezone_set('America/Chicago');可以在php.ini中的"date.timezone =美国/芝加哥“行更改默认值。在更改之前,我的默认值是在英国的某个地方。
我在你添加的评论中看到了。
if($day == 7 && $m >= 700 && $day == 3 1125)格式正确,sunday为0。
if($day == 0 && $m >= 700 && $day == 3 && $m <= 1125)实际上,一开始我给了你一个糟糕的答案,但我明白你想做什么了。问题是,只有从周日到周三,每天的700 - 1125 才是真的。因此,在周一的630,这将是错误的。if语句的格式不符合您想要做的事情,但是您可能希望在您的条件中使用时间戳。
来回答你的原始代码。试试这个:
<?php
date_default_timezone_set('/*ENTER YOUR TIME ZONE HERE*/ /*Find it here: http://www.php.net/manual/en/timezones.php*/');
$hour = date('G');
$minute = date('i');
$day = date('w');
$m = $hour * 60 + $minute; // Minutes since midnight.
if(
$day == 0 // Sunday...
&& $m >= 615 // ... after 10:15…
&& $m <= 700 // ... but before 11:40…
) header("Location: open.php");
else if(
$day == 3 // Wednesday...
&& $m >= 1125 // ... after 18:45…
&& $m <= 1235 // ... but before 20:35…
) header("Location: open.php");希望这能解决你的问题!
发布于 2017-10-18 22:49:14
最好将其与javascript结合使用。问题是PHP工作在服务器端。所以当你收到一个php网页的时候,你的php代码已经被编译了。
在javascript中,您可以通过使用set Time out函数得到答案。
setTimeout(function, milliseconds);您可以通过计算当前日期与要运行重定向的日期之间的差值来计算时间。
要在javascript中重定向,请使用以下函数
// similar behavior as an HTTP redirect
window.location.replace("http://stackoverflow.com");
// similar behavior as clicking on a link
window.location.href = "http://stackoverflow.com";希望这能进一步帮助你寻找答案。
https://stackoverflow.com/questions/7325488
复制相似问题