我有一个mysql表,我有createDate列。 我必须在每过一天后发送电子邮件到记录中。
例如,我有两个记录及其日期:
2018-04-02 11:04:03
2018-04-04 09:01:45
第一条记录应该在每1天过去时收到电子邮件。小时,分钟也很重要。
对于第一条记录,电子邮件时间的日期必须为=>
2018-04-03 11:04
2018-04-04 11:04
2018-04-05 11:04
...
...
...
对于第二条记录,电子邮件时间的日期必须为=>
2018-04-05 09:01
2018-04-06 09:01
2018-04-07 09:01
...
...
我该如何处理这种情况?
感谢大家的回答。
编辑:我在评论后更改了我的问题。
我有一个日期数组。
$dates = ['2018-04-02 11:04:03', '2018-04-04 09:01:45'];
我想要一个与currentDate完全返回日期差异的函数。 cron每分钟都会工作,并会检查差异。
<?php
function difference($currentDate, $date){
//will return true if 1 day or 2 days or 3 days etc passed ...
}
$dates = ['2018-04-02 11:04:03', '2018-04-04 09:01:45'];
foreach($dates as $date){
if(difference($currentDate, $date)){
//send email
} else {
//dont send email
}
}
答案 0 :(得分:0)
每一秒算一次吗?您可以使用运行脚本(每分钟或每秒)检查日期的CronJob。
修改强>
<?php
$firstDate = "2018-04-03 11:04";
$secondDate = "2018-04-04 11:04";
$seconds = abs(strtotime($secondDate) - strtotime($firstDate));
if($seconds > 86340 && $seconds < 86460){
echo "Almost exactly one day difference (± 1 minute tolerance)";
} else {
echo "More or less than one day difference";
}
?>