0

我正在研究涉及一些基于时间的任务的功能。我需要检索当前的 EST 时间以继续我的功能。我不需要系统时间,因为每个用户可能不同。是否可以使用 javascript 或 c#从另一个时间服务器获取东部标准时间或从我的托管服务器获取时间,以便我可以将其转换为东部标准时间。

我目前正在使用这行代码来获取东部标准时间,但这不是我想要的,因为它是基于系统时间的。

 DateTime eastern = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.UtcNow, "Eastern Standard Time");
4

1 回答 1

1

您当前的代码看起来正确 - 它返回 EST 时区的当前时间。

在您的情况下,“现在”可能有 4 个不同的值,我认为您有一个正确的值:

  • UTC“现在” - 现在在 UTC 时区。- 无论位置/语言环境/任何东西,都具有相同的值。
  • 服务器本地时区(即 PST)中的时间 - 取决于服务器配置
  • 浏览器用户时区(即印度的半小时时区)中的时间 - 因用户而异。
  • EST 中的时间。- 无论位置/区域设置/任何内容,都具有相同的值。

像您一样将 UTC 转换为已知时区是安全的。

如果您对特定机器上的时间精度/正确性不满意,您可以从支持Network Time Protocol的服务器获取时间,但机器之间的时钟同步并非易事,因此请先考虑是否需要。

于 2012-04-14T06:43:20.763 回答