【发布时间】:2020-07-30 06:46:47
【问题描述】:
我的数据库中有一个设置表,我以小时为单位存储了 notification_time
设置:
notification_time
3
现在我有一个约会表,其中保存了 id(int(11))、name(varchar(50))、date(varchar(50))、start_time(varchar(50))
约会:
id | name | date | start_time
1 Amit 2020-07-31 06:15:00
2 Pawan 2020-08-01 13:30:00
现在我想发送 start_time 小于 2 小时(即开始时间前 2 小时)的通知,因为我已经编写了以下脚本,但问题是在时间过去后它也发送邮件通知并与当前时间不正确。
$current_time = date("Y-m-d H:i:s");
foreach ($appointmentData as $rowAppointment) {
$diff_in_sec = round(abs(strtotime($current_time) - strtotime($rowAppointment->date . ' ' . $rowAppointment->start_time)));
$number_of_hours = 3600 * $settings->notification_time;
if ($diff_in_sec >= $number_of_hours) {
send notification;
}
}
【问题讨论】: