保持我提交的客户端日期时间与我的定时器工作同步

本文关键字:我的 定时器 工作 同步 时间 日期 提交 客户端 | 更新日期: 2023-09-27 18:03:27

我从客户端向服务器提交了一个日期时间。假设现在是加州时间下午1点。在提交此数据后,我解析时间并将其转换为UTC,如下所示:

DateTime.SpecifyKind(DateTime.ParseExact(model.SessionStart, "MM/dd/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture).ToUniversalTime(), DateTimeKind.Utc);

我有一个timerjob运行在同一台服务器上,检查这些日期小于当前时间,所以我的代码运行时,会话开始时间在正确的时间。

如何保持所有这些时间与我的服务器同步,以便如果有人从加利福尼亚或纽约提交,一切都被正确转换,我的timerjob将正确运行

保持我提交的客户端日期时间与我的定时器工作同步

我认为拍卖更好的方法是让客户端以UTC发送服务器开始时间和结束时间,并让服务器计时器将UTC时间与拍卖开始/结束时间进行比较。此处根本不需要使用服务器的本地时间。

唯一要使用的本地时间,在客户端显示。任何与服务器和服务器内部的处理都应该始终只使用UTC。

至于时间同步,你可以使用John Skeet建议的NODA时间:将我的应用程序的时间与外部服务器的时间同步的最好方法是什么?