我有“用户”表
id | name | day | time |
1 | john | 6 | 11 |
我想从“日”和“时”两个方面来比较当前的日期和时间,我是不是做错了什么?我只知道6号星期六http://php.net/manual/en/function.date.php
$today = date("w");
$time = date("H");
$query = "SELECT name, day, time FROM `user`";
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);
$a = $row['name'];
$b = $row['day'];
$c = $row['time'];
if($b == $today AND $c >= $time)
{
echo 'success';
}
else
{
echo "result 0";
}
但输出为“结果0”
4条答案
按热度按时间6vl6ewon1#
可能是您的php时区配置不同。例如,尝试获取更详细的信息
qyyhg6bp2#
我用你的数据尝试了你的php脚本,但对我来说效果很好。可能是您的问题与时区有关,因为date()返回当前时区,就像php.ini的date.timezone参数中定义的那样。例如,如果您在12:00测试程序,而utc时间低于2小时或更长时间,则测试将失败。为了避免这种情况,可以在php.ini中定义当前的tz,或者直接在php脚本上使用\u date\u default\u timezone\u set()设置时区。如果用户没有相同的tz,后者可能很有用。您可以将tz存储在user表中,并使用\u date\u default\u timezone()在脚本中正确初始化它_
6tr1vspr3#
当您插入到数据库时,请确保插入am/pm时间,以便正确比较。日期(“h a”)//晚上11点
pbgvytdp4#
只有在星期六的午夜(00:00)到11:59(am)之间运行该代码,它才会工作。
H
格式为24小时制。或者将变量添加到echo
语句,这样你就可以像电脑一样看到东西。