gpt4 book ai didi

MYSQL - 日期/时间显示最近 30 分钟

转载 作者:行者123 更新时间:2023-11-29 10:49:20 27 4
gpt4 key购买 nike

我有一列 (laSTLogin),其中包含以下value = '17th May 2017 09:40:43 AM' ----

创建图章的 php 函数:

date('jS F Y h:i:s A');

如何执行选择查询来显示当前时间过去 30 分钟内的(上次登录)?

我猜我们必须将日期/时间转换为字符串并将两者分开?

任何帮助都会很棒。

更新:

我尝试了以下方法,但没有成功,在表中返回了更多记录:

  SELECT user_id, ('lastlogin' >= DATE_FORMAT(NOW() - INTERVAL 30 MINUTE,'%D %M %Y %H:%m:%s %p')) as result
FROM login_last
where lastlogin >= DATE_FORMAT(NOW() - INTERVAL 30 MINUTE,'%D %M %Y %H:%m:%s %p')
GROUP BY user_id

表结构

   [id] int(8)  
[user_id] int(11)
[lastlogin] varchar(30)
[browser] varchar(300)

最佳答案

您需要将字符串日期转换为日期时间格式以进行比较,然后将当前日期时间与存储的值进行比较。

您还可以将它们转换为可排序的字符串以进行比较。类似“2017-05-17 10:20:10 AM”,但使用日期时间类型更容易进行比较。

引用:

MySQL 查询:

SELECT 
`user_id`,
`last_login`,
(STR_TO_DATE(`lastlogin`,'%D %b %Y %h:%i:%s %p') >= (NOW() - (INTERVAL 30 MINUTE))) as `in_range`
FROM `login_last`
WHERE (STR_TO_DATE(`lastlogin`,'%D %b %Y %h:%i:%s %p') >= (NOW() - (INTERVAL 30 MINUTE)))

关于MYSQL - 日期/时间显示最近 30 分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44023521/

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