我的方案如下。我有一个客户端和服务器。客户端使用本地存储的名为LastReplication的值从服务器提取数据。
每当发出复制数据请求并且服务器将其与我的数据库中名为LastUpdated的字段进行比较时,该值就会传递给服务器,并返回LastUpdated> LastReplicated。
这在大多数情况下运作良好,但问题是当我开始处理国际日期和时间这个策略崩溃时。
我之前从未编写任何复制'引擎',也不确定如何解决此问题。但我假设解决方案涉及使用纪元时间或通用时间戳。
在这种情况下,最佳做法是什么?
任何建议都会受到高度赞赏......
答案 0 :(得分:2)
也许您可以将您的LastReplication值存储为UTC(协调世界时),可以计算为
UTC =(当地时间) - time_zone
例如,我住在美国俄亥俄州的阿克伦,目前处于-4时区。因此,要查找UTC,我需要当地时间(当前为07:17),减去时区(以小时表示),即-4,因此当前UTC为11:17。您的各种服务器必须知道它们所在的时区,并且给定位置的时区可以全年变化(例如,在美国,我们在夏季使用夏令时,这导致时区从-5变化到我的位置为-4,然后我们在秋天回到标准时间,所以时区从-4变为-5)但我认为大多数现代操作系统应该能够准确地提供这个值。
我希望这会有所帮助。