PHP:如何将时间字符串与日期 ('H:i' 进行比较)?

标签 php datetime comparison

我将时间保存在数据库中,例如晚上 7:30,作为 varchar 字段。我想检查这个时间是否大于现在的时间。

我将数据库时间字符串转换为“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。

执行 (int)date('H:i') 将在实际时间为 17:09 时给出 1700,因此删除冒号然后进行比较将无法正常工作....

在这种情况下,更改数据库时间数据是不可能的。

请帮忙。如果我陈述的某些事实有误,请纠正我。

最佳答案

你可以使用这个:

$myTime = '19:30';
if (date('H:i') == date('H:i', strtotime($myTime))) {
    // do something
}

关于PHP:如何将时间字符串与日期 ('H:i' 进行比较)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10497929/

相关文章:

php - Laravel Input::file 返回空数组,而 $_FILES 有数据

php - 从用户输入的选定日期在 MySQL 中始终存储为 "1970"

php - 如何更新 PHP CLI OSX?

php - 在 View 中显示用户时区的小时数

java - 如果字符串重复,如何返回字符串的第一个字符?

entity-framework - 比较两个 Entity Framework 实体的最佳方法是什么?

PHP 检测用户语言

datetime - 为什么 Coldfusion DateTime 返回奇怪的值?

python - 如何组合日期和时间?

java - "=="的 Int 和 Char 比较