首页 > 解决方案 > 检查日期时间php

问题描述

我需要在 date_start 前 30 天发送电子邮件。

示例:我有事件:

  1. 名称街道事件
  2. 状态 = 0;
  3. 日期开始 = 22.06.2018

我需要在以下时间发送电子邮件:22.05.2018,即明天。

我怎样才能检查这个?

if(date() <=  strtotime(date(), '-30 days') { //send email } 

这是行不通的。

标签: php

解决方案


您可以使用http://php.net/manual/en/function.date-diff.php中所示的 date_diff 函数

function dateDifference($date_1 , $date_2 , $differenceFormat = '%a' ) {
    $datetime1 = date_create($date_1);
    $datetime2 = date_create($date_2);

    $interval = date_diff($datetime1, $datetime2);

    return $interval->format($differenceFormat);

}

$targetDate = "2018-06-21";
$today = date('Y-m-d');

if ( dateDifference($targetDate, $today) <= 30) {
    // send mail
}

推荐阅读