我真的不明白。。。
下面的第一个语句返回预期的行-只有日期早于/小于。。。

select matchdate, price, size, issell from matchmsg
where matchdate <= '2015-01-17 00:00:00.000000+01' order by matchdate asc

下面的代码返回日期为2015-01-21的行。。。!?
select matchdate, price, size, issell from matchmsg
where matchdate <= 'Sat Jan 17 2015 00:00:00 GMT+0100' order by matchdate asc

注:我使用PostgresSQL、NodeJS和NPM Moment…但是结果是来自PostgreSQL工具pgaminii…所以-这与我自己的代码无关。。。!
数据库中的matchdate是一个“带时区的datetime”,如下所示:
“2015-01-16 00:00:22.491956+01”

最佳答案

PostgreSQL不了解格式Sat Jan 17 2015 00:00:00 GMT+0100的日期,但它可能正在尽最大努力。下面是它能理解的datestime格式的表格。A complete explanation can be found here
你必须把Sat Jan 17 2015 00:00:00 GMT+0100转换成Postgres能理解的格式。它非常接近the HTTP date format

09-10 14:00