为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
小怪兽爱吃肉 2021-12-24 15:47:05
我有一个计费系统,如果距到期日不到 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.";}
查看完整描述

2 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

我的非常基本的解决方案是这样的。

  1. 获取当前日期

  2. 获取固定的到期日期

  3. 检查到期日期是否小于今天的日期

  4. 激活续订提醒

PHP 代码示例

<?php

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

$expiry_date = date( "d-m-Y", strtotime( "04-10-2019 -1 month" ) ); 

if ( $expiry_date <= $current_date ) {

    echo "You are eligible for a renewal.";

}

测试代码和反馈。


查看完整回答
反对 回复 2021-12-24
?
HUH函数

TA贡献1836条经验 获得超4个赞

离开 :


$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";}


查看完整回答
反对 回复 2021-12-24
  • 2 回答
  • 0 关注
  • 247 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信