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
我编写了一个程序,一旦通过 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