我在MySQL数据库中有一个名为: last_dl 的字段 我不知道它应该是什么类型。首先,我想将当前时间存储在其中,将来,在用户请求之后,检查是否过了72小时。然后做点什么。
我很困惑选择什么类型。我应该使用MYSQL函数还是PHP函数?我是否需要时间戳。如何在数据库中转换回时间戳?
答案 0 :(得分:2)
我会在mySql中使用DATETIME字段。然后从php你可以检查从那时起72小时过去了。
$dbdate = strtotime($datefromdb);
if (time() - $dbdate > 60 * 60 * 72) {
// 72 hours passed
}
答案 1 :(得分:1)
是的,将last_dl
的值以DATETIME
格式存储在数据库中。
然后你需要的就是在数据库中运行查询,PHP将准备好结果:
SELECT HOUR(TIMEDIFF(`last_dl`, NOW())) as 'hours diff',
IF(HOUR(TIMEDIFF(`last_dl`, NOW())) > 72,'YES' , 'NO') as 'age check passed'
FROM `table_name`
;
结果是:
假设last_dl
的值为'2017-12-11 15:45:57.005678'
小时差异检查通过了 89是
99是
65没有 75是
41没有 51没有 17没有
现场直播:http://sqlfiddle.com/#!9/b7c11d/1
编辑调整示例;)