PHP 比较两个日期的到期日期

标志

嗨,我正在尝试制作一些比较数据库中日期的东西,以检查我的许可证是否已过期。

我的日期以这种格式存储:18/05/2019(d/m/Y)

在我的代码中,我为今天的日期创建了一个变量:

$TodayDate = Date('d/m/Y');

然后我在我的数据库中得到包含日期的行,如下所示:

$DBLicenseExpireDate  = $row["LicenseExpireDate"];

最后我尝试查看日期是否已过期:

 if ($TodayDate < $DBLicenseExpireDate) {
           }

我也试过:

 if ($TodayDate < strtotime($DBLicenseExpireDate)) {
           }

在几乎所有情况下,我都尝试过,它说它已过期,而实际上并没有。

我得到了一些奇怪的结果。示例:如果今天的日期是:05/18/2019,到期日期是:06/06/2019,我试试这个 if 语句:

if($todayDate < $expireDate)
{
  echo 'not expired';
}
else
{
echo 'expired';
}

它仍然是过期的结果。看到了关于检查过期日期的数百万个问题,都试过了。我一定做错了什么。

约翰康德
  1. 不要strtotime()用于日期数学。使用更适合处理日期的`DateTime()。
  2. 您的日期格式与strtotime(). 当使用 m/d/Y 格式时,假设您使用的是美国日期格式,并且类似的日期18/05/2019被评估为“2019 年第 18 个月的第五天”。显然这不是你的意思,结果你会得到1970-01-01

使用DateTime::CreateFromFormat()得到你想要的日期,然后做你的比较:

// Parse the european date format
$date1 = DateTime::CreateFromFormat('%d/%m/%Y', '18/05/2019');
// Get today ("now")
$date2 = new DateTime(); 
// DateTime objects are comparable so you can compare these two variables directly
if ($date2 < $date1) {
    // today is before the 18th of May
}
else {
    // today is after the 18th of May
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

php date()和到期日期()

来自分类Dev

JwtSecurityToken 到期日期相隔两个小时

来自分类Dev

日期验证以比较php中的两个日期

来自分类Dev

如何检查到期日期是否与php中的当前日期一起传递?

来自分类Dev

使用php比较两个日期,如果

来自分类Dev

无法使用PHP比较两个日期

来自分类Dev

PHP比较两个日期时间范围

来自分类Dev

php比较两个日期,仅月份和年份

来自分类Dev

PHP比较两个日期之间的差异

来自分类Dev

Angular的到期日期

来自分类Dev

php比较两个日期之间的开始和结束日期

来自分类Dev

PHP比较日期(试用到期)

来自分类Dev

计算两个日期字段-PHP

来自分类Dev

PHP的两个日期之间的时间是

来自分类Dev

选择一个到期日期字段

来自分类Dev

在php中比较两个日期的正确方法是什么?

来自分类Dev

WooCommerce预订-比较两个时间戳与自定义日期格式的PHP

来自分类Dev

在PHP中比较两个日期的问题,分钟始终为0

来自分类Dev

比较不同月份中的两个日期在PHP中什么也不返回

来自分类Dev

仅将两个日期与 PHP 中的月份和年份进行比较

来自分类Dev

PHP:两个日期之间的返回日期错误

来自分类Dev

TinyMce4到期日期

来自分类Dev

未设置Cookie的到期日期

来自分类Dev

检查Active Directory到期日期

来自分类Dev

到期日期和页面刷新

来自分类Dev

Cookie 到期日期等于 -1

来自分类Dev

訂閱到期日期

来自分类Dev

解析 REST 令牌到期日期

来自分类Dev

PHP过期日期