Datetime 在具有不同系统时间的两台设备之间同步对象

Datetime 在具有不同系统时间的两台设备之间同步对象,datetime,synchronization,Datetime,Synchronization,我正在两台设备之间同步对象。对象具有lastModified属性。如果两台设备都修改了对象,则在下一次同步期间,将在两台设备上选择对象的版本与最近的lastModified。因此,我们不进行细粒度合并,只进行“最新版本”合并 问题是这个。当一台设备接收到更改对象的列表时,它无法可靠地将上次修改的接收对象与自己的对象进行比较,因为两台设备上的系统时间可能不同 我考虑让每个设备在同步期间发送其当前日期/时间。然后计算远程时间和本地时间之间的差值,以正确比较日期。但是,如果在发送日期和远程设备接收日期

我正在两台设备之间同步对象。对象具有
lastModified
属性。如果两台设备都修改了对象,则在下一次同步期间,将在两台设备上选择对象的版本与最近的
lastModified
。因此,我们不进行细粒度合并,只进行“最新版本”合并

问题是这个。当一台设备接收到更改对象的列表时,它无法可靠地将上次修改的接收对象与自己的对象进行比较,因为两台设备上的系统时间可能不同

我考虑让每个设备在同步期间发送其当前日期/时间。然后计算远程时间和本地时间之间的差值,以正确比较日期。但是,如果在发送日期和远程设备接收日期之间存在延迟,则会导致与同时修改的对象(或在时间上非常接近的对象)进行不正确的比较。i、 e.这两种设备都认为远程对象较新,并且最终使用不同的对象

我希望我已经解释清楚了


这类问题肯定有一个共同的解决方案,但我的大脑却什么都没想到。有什么建议吗?提前感谢…

我已经想出了一个可行的解决方案

客户端将其日期发送到服务器。服务器计算一个增量,用于将客户端的日期标准化为自己的时间。服务器将该增量发送回客户端,客户端使用相同的增量(否定)对桌面的时间执行相同的操作。现在,两台设备之间的任何转换都是一致的。仍然可能存在这样的情况,即在两个对象之间选择一个较旧的对象,而这两个对象在
秒内被修改,但至少现在是一致的