0

我创建了一个处理约会的 webapp。然后,它将存储在 mysql 数据库中的这些约会放置到谷歌地图上。

我只想显示“今天”的约会。要在我的 sql 查询中做到这一点,我需要做一些类似的事情select * from appointments where $date = today。目前它只是读取select * from appointments。我遇到的问题是日期以下列格式存储在一列中Fri Mar 08 2013 09:00:00 GMT 0000 (GMT)。在地图上绘制时,时间方面无关紧要,我所需要的只是提取日期并显示与“今天”日期相关的那些记录。

当它被格式化时,如何从一列中获取日期,以及如何以相同的格式设置今天的日期?

4

2 回答 2

1

可能很麻烦......但我会这样解决它(纯SQL):

select *
from appointments
where `date` >= curdate() and `date` < date_add(curdate(), interval +1 day);

我假设您的'date'字段存储为dateor datetime,而不是字符串。如果您将日期存储为字符串,那么您将遇到一些大问题,因为您需要以某种方式将字符串“转换”为有效日期。

希望这可以帮助你

于 2013-03-19T21:09:19.940 回答
0

哦亲爱的。您应该将日期存储为 DATE 数据类型。它有自己的内部格式。当您查询表时,您可以使用 MySQL DATE_FORMAT() 函数以您需要的任何格式显示它。

更改列后(并将所有现有数据转换为正确的格式,执行基于日期的查询将毫无问题。

于 2013-03-19T21:08:50.637 回答