1 hour difference with rails time in postgres prepared statement
我有问题,在rails中执行查询会在生成的postgres sql语句中转换错误的时间。
shell,ruby和postgres中的时间是23:32,但是在生成的sql语句中它是22:32
任何想法都错了吗? 我使用rails 3.2.11,pg gem 0.14.1(随bundle安装)
debian系统时间:
1 2 | $ DATE Sat Feb 9 23:32:10 CET 2013 |
在红宝石:
1 2 | 1.9.2p290 :004 > TIME.now => 2013-02-09 23:32:15 +0100 |
在postgres:
1 2 3 4 5 | => SELECT CURRENT_TIME; timetz -------------------- 23:32:24.213487+01 (1 ROW) |
生成的rails查询:
1 2 | 1.9.2p290 :003 > Item.where"next_crawling_at < ?", TIME.now Item LOAD (1.1ms) SELECT"items".* FROM"items" WHERE (next_crawling_at < '2013-02-09 22:32:17.935595') |
看起来您已在客户端设置了UTC时区 - 即使这似乎与
没有额外的夏令时DST偏移(因为我们现在有冬天),你的时区可能是CET(中欧时间),而
您可以使用
或者您可以使用
或者你到处都是