【问题标题】:Check interval between datetimes in PHP检查PHP中日期时间之间的间隔
【发布时间】:2011-03-04 10:41:51
【问题描述】:

我在数据库中有一个日期时间类型的字段,我在其中添加用户访问页面的时间。当用户再次出现时,我想检查他第一次访问和当前访问之间的间隔。如果它小于或等于 1 小时,那么我想向他展示一些信息。 我是这样存储时间的

2011-03-04 00:25:01

我想问的是如何在 PHP 中检查间隔

【问题讨论】:

    标签: php mysql datetime


    【解决方案1】:

    你可以试试

    SELECT COUNT(@UserID) FROM table WHERE LastVisit > (DateADD(now(),interval -1 Hour))
    

    然后你可以检查计数

    编辑:添加 FROM 子句

    【讨论】:

    • 这是给 MySQL 的吗?是不是缺少 FROM 子句?
    • 哦,是的,该睡觉了。
    • 嗨,我不需要 mysql 功能。我要php函数
    【解决方案2】:

    如果您的 PHP >= 5.3,您可以使用 DateTime 对象和函数:

    $visit = DateTime::createFromFormat('Y-m-d H:i:s', '2011-03-04 00:25:01');
    $now = new DateTime("now");
    
    $diff = $now->diff($visit);
    

    【讨论】:

      【解决方案3】:

      您可以这样做,检索日期时间,将其存储在变量中。 使用 time() 创建一个 var。

      然后您可以使用 strtotime() 将 db 日期时间转换为时间字符串

      从新时间中减去 datetime 时间字符串。这应该会让你在几秒钟内有所不同。然后,您可以操纵您的值并进行相关检查。

      $db = datetime_from_database;

      $now = time();

      $last = strtotime($db);

      $diff = $now - $last; //这是以秒为单位的

      你可以做类似的事情

      $分钟 = $diff / 60;

      If ($minutes > 60) echo '超过 1 小时; 60 分钟;

      只要在里面工作。

      然后您可以使用日期函数使用 $now 格式化新的日期时间并更新数据库。

      【讨论】:

        猜你喜欢
        • 2018-07-26
        • 1970-01-01
        • 2022-01-04
        • 1970-01-01
        • 1970-01-01
        • 2016-07-01
        • 1970-01-01
        • 2020-02-19
        • 2010-12-03
        相关资源
        最近更新 更多