【发布时间】:2012-05-16 21:30:46
【问题描述】:
我有时间作为 varchar 字段保存在数据库中,例如晚上 7:30。我想检查这个时间是否大于现在的时间。
我将 DB 时间字符串转换为“19:30”,现在我想做这样的事情:
$my_time = '19:30';
if($my_time > date('H:i'))
{
do something ...
}
问题是如果 $my_time 是非空字符串,上述将始终返回 true。
strtotime($my_time) 也无济于事。
strtotime('H:i',$my_time) 00:00 。
当实际时间是 17:09 时,(int)date('H:i') 将给出 1700,因此删除冒号然后比较也不会起作用....
在这种情况下更改数据库时间数据是不可能的。
请帮忙。如果我说错了一些事实,请纠正我。
【问题讨论】:
-
您应该使用本机日期时间字段而不是 varchar。它会为你解决这个问题。
-
我知道约翰……这是最大的问题。
标签: php datetime comparison