SQLITE 按日期排序忽略年份

SQLITE Order by date ignores year

我编写了一个程序,一旦通过 RSS-Feed 获得新文章,它就会自动将新条目写入数据库。它获取该文章的标题、日期等,并将这些信息作为新条目写入数据库。 我还 运行 一个代码,用于将数据库的最新条目显示到我的网站。所有这些都有效,直到日期更改为 2015 年。它按月和日对条目进行排序,但似乎忽略了年份。所以当我在 2014 年 10 月开始这个程序时,新条目最终排在列表的底部。

这是我用来 select 条目的查询:

$res = $db -> query('SELECT * FROM himate ORDER BY Recent DESC Limit 20');

这是按条目日期排序时数据库的外观图片(注意:条目从上到下排序,因此新条目应位于底部):

我感觉这与我从 RSS-Feed 获取的时间格式有关,但由于数据库中已经有很多条目,我对接收到的格式没有影响通过提要,如果有一种方法可以在不更改时间格式的情况下解决这个问题,我会感到很欣慰。

如有任何帮助,我们将不胜感激!

编辑:感谢大家的回答。看来我转换错了。

而不是:

$timeStamp = date("m-d-Y H:i:s", $articleDate);

我现在这样做了:

$timeStamp = date("Y-m-d H:i:s", $articleDate);

现在它工作得很好。

确保您最近的字段格式是时间戳。这个问题是因为它的排序字符串格式

可以使用strtotime函数将其转换为日期格式 http://php.net/manual/en/function.strtotime.php

您的日期字段是字符串。您必须将字段创建为 datetime 。示例 2012-11-11 22:31:22