将当前时间存储在时间戳中

时间:2017-12-14 08:57:33

标签: php mysql sql

我在MySQL数据库中有一个名为: last_dl 的字段 我不知道它应该是什么类型。首先,我想将当前时间存储在其中,将来,在用户请求之后,检查是否过了72小时。然后做点什么。

我很困惑选择什么类型。我应该使用MYSQL函数还是PHP函数?我是否需要时间戳。如何在数据库中转换回时间戳?

2 个答案:

答案 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

编辑调整示例;)