![]() |
1
3
尝试将它们作为UTC放入的最简单的方法是为您用于返回UTC时间的文本字符串的DataSet类重写literal_datetime和/或literal_time。 在UTC中获取它们取决于您使用的适配器。例如,postgres适配器调用sequel.string_to_datetime,后者只调用sequel.datetime_类的parse(默认情况下为time)。如果datetime列包含时区信息,那么应该可以正常工作。如果它不包含时区信息,time.parse将假定它是给定的本地时间。在这种情况下,您可能希望重写sequel.string_to_datetime,以确保它始终返回带有UTC偏移量的时间(可能通过调用time.parse(s).gmtime)。 |
![]() |
2
21
现在这有点过时了,但我相信自最初的答案发布以来,这里最好的解决方案已经改变了。如果你设置
Sequel会一直将其视为UTC,不会表现出问题中描述的行为。 有关详细信息,请访问 http://sequel.jeremyevans.net/rdoc/classes/Sequel/Timezones.html |
![]() |
3
5
我自己也有一个非常相似的问题。 此信息来自 Sequel RDoc
还要确保没有将时区信息存储在数据库中。 我正在使用Postgres,列类型是 不带时区的时间戳 . 这将导致显示的日期/时间为UTC。当我通过一个日期/时间 2009年7月13日t03:22:53z 结果显示为 2009年7月13日t03:22:53+00:00 |