【发布时间】:2020-09-12 22:57:04
【问题描述】:
有这个 API 可以在调用时为我提供远程服务器的时间。这是该 API 的响应 JSON:
{
hour: 12,
minute: 2,
second: 20,
msFormat: "/Date(1590478340707)/"
}
此时间与运行我的代码的服务器不同步。根据远程服务器的时间,我的代码需要毫秒精度。
我想调用该服务器的另一个 API,完全基于相对于该服务器的某个时间。因此我不能使用我自己服务器的DateTime.Now,因为它们不同步。我的服务器和远程服务器是同一年、同一月、同一天,但有时它们甚至可能会关闭几个小时。
我看到了this question,但答案假定我可以访问该服务器上的 JavaScript 代码以获取时间。我不。我也看到了this question,但它是关于将我自己的客户的时间发送到我的服务器。正如我所说,我无权创建 JavaScript 的日期时间。我只能访问上面显示的数据。
现在我需要:
- 按原样解析这次,精确到毫秒
- 根据这个时间打勾,这样我就可以在某个时间点准确地做某事,相对于它
我想试试new DateTime(year, month, day, hour, minute, second, millisecond),但我没有毫秒数(它在最后一个名为msFormat 的参数中,直到我提取它才知道,这是我不知道的知道)。
我尝试了new DateTime(1970, 01, 01).AddMilliseconds(1590478340707),它给了我一个错误的时间,因为我知道即使基于远程服务器的时间它也是关闭的。
我也试过new System.Timers.Timer(1).Elapsed += HandleTimeBasedOnRemoteServerTime;。但是现在我不知道如何知道那个服务器的时间,因为我不能使用DateTime.Now。
你能帮忙吗?
【问题讨论】: