gpt4 book ai didi

php - MySQL 日期比较建议

转载 作者:行者123 更新时间:2023-11-29 04:58:15 25 4
gpt4 key购买 nike

我正在设置一个脚本来每天运行并检查满足特定年龄的成员 - 可以在 CMS 中设置自动电子邮件并指定在任何年龄发送,无论是几个月还是几年。为了通过 PHP 和 MySQL 处理这个问题,月数作为参数传递给一个方法,我将按如下方式处理。但是,我不确定我是否会以最简单的方式解决这个问题!部分原因是英国日期格式的格式设置,我正在从字符串转换为日期时间再转换为 unix 时间戳以进行比较。谁能找到更好的方法来解决这个问题?谢谢

        // If num of months provided is a year, make calculation based on exact year
if ($age_in_months % 12 == 0)
{
// Using 365 days here (60 * 60 * 24 * 365 = 3153600)
$clause = 'WHERE ROUND((UNIX_TIMESTAMP() - UNIX_TIMESTAMP(STR_TO_DATE(dob, "%d/%m/%Y"))) / 31536000) = ' . $age_in_months;
}
else
{
// Using 30 days as avg month length (60 * 60 * 24 = 86400) - convert months to days
$clause = 'WHERE ROUND((UNIX_TIMESTAMP() - UNIX_TIMESTAMP(STR_TO_DATE(dob, "%d/%m/%Y"))) / 86400) = ' . $age_in_months * 30;
}

最佳答案

  • 更改该列以键入日期或日期时间
  • 不要使用英国日期格式,使用ISO-8601格式
  • 和该列的索引

关于php - MySQL 日期比较建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4492729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com