我不想在我当地的时区存储时间,但是续集让我很难受.我可以在将它们放入那里之前将它们设置为UTC(有点痛苦),但是当我把它们取出时它假定它们是本地日期然后它们将来都是8小时.这件事还没有实现吗?如果是这样,有没有解决方法?谢谢!
解决方法
尝试将它们作为UTC放入的最简单方法是覆盖用于返回UTC时间的文字字符串的数据集类的literal_datetime和/或literal_time.
以UTC格式取出它们取决于您使用的适配器.例如,postgres适配器调用Sequel.string_to_datetime,它只调用Sequel.datetime_class上的解析(默认为Time).如果datetime列包含时区信息,那么事情应该可以正常工作.如果它不包含时区信息,Time.parse将假定它被赋予本地时间.在这种情况下,您可能希望覆盖Sequel.string_to_datetime以确保它始终返回UTC偏移的时间(可能通过调用Time.parse(s).gmtime).