【问题标题】:PHP - how do I check if today's date matches date stored in database? [duplicate]PHP - 如何检查今天的日期是否与存储在数据库中的日期匹配? [复制]
【发布时间】:2019-05-22 22:13:57
【问题描述】:

PHP。我正在尝试比较两个日期。一个是存储在 MySQL 表中的 dateofbirth,另一个是没有年份的今天日期。如果数据库中存储的日期 (m-d) 与今天的日期 (m-d) 匹配,则会弹出一个窗口。

这适用于运行 MySQL 5、PHP 5 的 Linux 服务器。

$sql1 = "SELECT * FROM perfil_aluno WHERE id_usuarios = 
'".$_SESSION['usuarioId']."' ";
$query1 = mysqli_query($mysqli, $sql1);
$dados1 = mysqli_fetch_assoc($query1);

$dob = date('m-d', strtotime($dados1['dateofbirth']));
$2day = date('m-d');

if($dob == $2day) {
// execute some code...
}

如果存储在数据库中的出生月份和日期 (m-d) 与今天的日期月份和日期匹配,则会弹出一个窗口祝用户生日快乐。

【问题讨论】:

  • "MySQL 5, PHP 5" 为什么?它们都已经很老了,PHP 5 和 PHP 7.0 和 7.1 都已报废。

标签: php mysql


【解决方案1】:

您可以使用DateTime 对象来比较日期,如下所示:

$date1 = DateTime::createFromFormat('!m-d', $dob);
$date2 = DateTime::createFromFormat('!m-d', $2day);

if ($date1 == $date2) {
    // execute some code...
}

! 防止使用当前时间戳而不是 00:00:00,因此在比较中使用它会更安全,而不需要时间部分。见cmetshere

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-28
    • 2018-04-05
    • 2018-04-03
    • 1970-01-01
    • 2016-03-06
    相关资源
    最近更新 更多