0

我从客户端向服务器提交日期时间。让我们说它的加利福尼亚时间下午 1:00。提交此数据后,我解析时间并将其转换为 UTC,如下所示:

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

我在同一台服务器上运行了一个 timerjob,它检查这些日期是否小于当前时间,因此我的代码在会话开始时间处于正确时间时运行。

我怎样才能使所有这些时间与我的服务器保持同步,以便如果有人从加利福尼亚或纽约提交,一切都会正确转换并且我的计时器作业将正确运行。

4

1 回答 1

1

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

唯一使用的本地时间是在客户端显示中。与服务器和服务器内部的任何交易都应始终仅使用 UTC。

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

于 2013-03-11T20:34:02.117 回答