gpt4 book ai didi

php - 如何检查预订期限从当前日期算起是否已结束

转载 作者:行者123 更新时间:2023-11-29 10:46:33 25 4
gpt4 key购买 nike

我无法确定预订期是否已结束?

我有 2 个 unix 时间戳,如下所示 start =>2017-06-20 12:00:00End => 2017-06-23 12:00:00

每次运行查询时,我想检查从我当前的日期开始时间是否已过(即是否达到预订期限)(我可以使用 php 传递它)

我的伪代码:

    select timestampdiff(DAY, '2017-06-20 12:00:00', '2017-06-23 12:00:00'); returns 3

returnedDate = 3; // returns difference either in date format or no.of days

if((returnedDate - mycurrentDate) == 0){


//your booking period is over

}else{


// no of remaining days

}

期望的解决方案:我正在寻找 mysql 特定解决方案,也欢迎好的 php 解决方案。

问题:如何知道预订日期已过期?

请帮我解决这个问题,先谢谢了!!!

最佳答案

假设mycurrentDateNOW()startend是事件发生的日期,预订的阈值是结束日期。

您可以使用 DATEDIFF 确定事件结束前剩余的天数,并检查结束日期是否已过,事件将显示 0。

EG:距离事件结束还有多少天

演示:http://sqlfiddle.com/#!9/95b548/2

假设 NOW()2017-06-21 12:00:00,使用过去、当前和 future 的事件。

| id | start               | end                 |
|----|---------------------|---------------------|
| 1 | 2017-06-20T12:00:00 | 2017-06-23T12:00:00 | #current
| 2 | 2017-06-01T12:00:00 | 2017-06-03T12:00:00 | #past
| 3 | 2017-07-01T12:00:00 | 2017-07-03T12:00:00 | #future
SELECT 
id,
NOW() AS `current_date`,
`tn`.`start` AS `starts_on`,
`tn`.`end` AS `ends_on`,
IF(`tn`.`end` >= NOW(),
DATEDIFF(`tn`.`end`, NOW()), #show days until event ends
0 #the event has already passed
) AS `days_remaining`

FROM `table_name` AS `tn`

结果:

| id |        current_date |                  start |                    end | days_remaining |
|----|---------------------|------------------------|------------------------|----------------|
| 1 | 2017-06-21T12:00:00 | June, 20 2017 12:00:00 | June, 23 2017 12:00:00 | 2 |
| 2 | 2017-06-21T12:00:00 | June, 01 2017 12:00:00 | June, 03 2017 12:00:00 | 0 |
| 3 | 2017-06-21T12:00:00 | July, 01 2017 12:00:00 | July, 03 2017 12:00:00 | 12 |

如果end存储为unix时间戳,您可以使用FROM_UNIXTIME()将其转换为DATETIME值:

IF(FROM_UNIXTIME(`tn`.`end`) >= NOW(),
DATEDIFF(FROM_UNIXTIME(`tn`.`end`), NOW()),
0
) AS `days_remaining`

关于php - 如何检查预订期限从当前日期算起是否已结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44453678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com