在一定时间后从SQL数据库检索行


Retrieve rows from SQL database after certain time

我的数据库中有一个表,其中包含事件。事件有开始时间和结束时间。但当它们被插入数据库时,用户输入的时间将转换为UTC时间。因此,对我来说,我的时间偏移量是UTC时间的-4小时,如果我将开始时间输入为晚上7点(19:00:00),则添加到数据库时会转换为23:00:00(UTC)。

问题

我希望用户能够选择晚上7点及其后直到一天结束的所有事件,但如果我执行查询:WHERE time > 23:00:00,它将只检索开始时间在晚上7点到晚上7点59分之间的事件。在晚上8:00,数据库中的UTC时间是00:00:00,它小于23:00:00

存储开始时间的字段类型为time

我使用javascript来获取时间偏移和输入,并使用php来获取mySQL。关于如何使用这些语言或SQL来解决这个问题,有什么想法吗?

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_convert-tz

当您输入当地时间时,您可以将其封装在此转换函数中,以将其转换为UTC时间。这是一个mysql函数,所以所有的信息转换都可以在服务器上进行。