我需要了解Sybase如何处理和存储时区:
例如,如果JDBC客户端例如在时区+1:00并且Sybase DB位于时区+2:00:
因此,考虑到上述情况,我何时需要转换日期/时间,是否应将其转换为服务器或客户端的时区?
答案 0 :(得分:1)
Sybase ASE将存储客户端应用程序传递给它的任何时间戳。它假定应用程序知道它正在做什么,并且不会进行任何转换。
这意味着写入的数据和读取的数据将基于客户端应用程序的时区,而不是数据库服务器的时区。
这也意味着您可以随意移动数据库服务器,而不会导致数据不一致,因为您使用的是应用程序设置的时间。
答案 1 :(得分:0)
我的理解是Sysbase存储从1970年1月1日00:00开始的微秒。
如果移动数据库并更改主机时区,则返回给应用程序的日期将更改(至少是),至少是日期的字符串表示形式。
我的建议是让DB和Application始终以UTC格式处理,在表示层进行转换。