如何检查当前日期是否在指定日期之前的一个月内

我有一个计费系统,如果距到期日不到 1 个月,则允许用户续订。


例如,假设产品在 2019 年 3 月 10 日到期。今天的日期是 04/09/2019,所以它在 30 天的窗口内,并将显示更新的消息。但是,星期一的日期 (02/09/2019) 或之前的任何日期不在 30 天窗口内,并且不会显示该消息。


请记住,我使用的是英国日期系统 DD-MM-YYYY。


设法构造了一个 if 语句来检查当前日期是否与指定日期相距 1 个月,但不在该时间内,这就是我需要做的。


为此在谷歌上搜索并找不到答案。我可能只是在寻找错误的东西,我不知道。


$current_date = date("d-m-Y");

$expiry_date = date_create("04-10-2019");

$month_prior_date = date_sub($expiry_date, date_interval_create_from_date_string("1 month"));

$month_prior_date = date_format($month_prior_date, "d-m-Y");

if ($current_date == $month_prior_date) {

    echo "You are eligible for a renewal.";

}


小怪兽爱吃肉
浏览 248回答 2
2回答

绝地无双

我的非常基本的解决方案是这样的。获取当前日期获取固定的到期日期检查到期日期是否小于今天的日期激活续订提醒PHP 代码示例<?php$current_date = date( "d-m-Y" );$expiry_date = date( "d-m-Y", strtotime( "04-10-2019 -1 month" ) );&nbsp;if ( $expiry_date <= $current_date ) {&nbsp; &nbsp; echo "You are eligible for a renewal.";}测试代码和反馈。

HUH函数

离开 :$today = date('d-m-Y');$expireDate = '02-10-2019';$maxDate = date('d-m-Y', strtotime($expireDate. ' -30 days'));if ($today <= $maxDate) {echo "Can Renew";} else {echo "Can not renew";}
打开App,查看更多内容
随时随地看视频慕课网APP