首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从MYSQL中选择日期和时间间隔

问从MYSQL中选择日期和时间间隔
EN

Stack Overflow用户
提问于 2011-08-28 23:42:09
回答 1查看 172关注 0票数 0

后台:我有一个数据库表,其中充满了500 rows。这些数据来自网站json API。有一个名为created_at的列,它模仿json API,而不是本地行created_at时间。下面是API 2009-12-10T20:08:00+0000的日期/时间格式的示例。数据库中的列具有varchar类型,以后可能会出现问题。

问题:i希望设置一个特定的查询,或者如果无法实现查询,则通过一个循环运行所有的数据库行。我想要在固定的日期间隔查询帖子的能力,例如,今天的日期是2011年8月28日,我想要每周,每月,和那个日期匹配的年度帖子。

每周都是这样的。2011年8月28日、2011年8月21日、2011年8月14日、2011年8月7日)。

月会像这个样子。2011年8月28日、2011年7月28日、2011年6月28日、2011年5月28日)。

每年都是这样的。2011年8月28日;2010年8月28日;2009年8月28日)。

特殊情况,如果其中之一是,不存在,我希望能够检索任何前面的或正在进行的行日期更接近所请求的日期。如果它们是一次约会的多行,我只想要第一个。

任何帮助都将不胜感激。

UPDATE我添加了一个类型为datetime的列,并使用与date('Y-m-d H:i:s', $jsonDate)对应的新的created_at_datetime列拉并更新了行。我仍然不知道如何形成mysql查询。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-29 02:02:58

如果必须转换日期,请使用strftime(),http://php.net/manual/en/function.strftime.php

使用srttotime()来计算过去/将来的日期;获取前一个月和该月的最后一天,然后添加一个24:59:59,表示该月份的最后一个可能的秒,并为第一个可能的秒添加一个00:00:00。

若要在数据库调用中只获得1个结果,请使用限制1,并按asc/desc进行排序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7224776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档