如何使用ASP.NET查找客户端机器时区



我需要使用ASP找到客户端机器的时区。. NET (c#)或JavaScript。世界各地有哪些不同的时区,以及如何根据用户的时区转换日期和时间。

请提供一些建议或示例代码来根据时区更改时间

无法从ASP.NET中找到客户端时区设置。

您可以使用JavaScript来告诉当前时间,但是有几个时区可以在任何给定的时间同步。

在Chrome中,您可以从JavaScript日期对象中获取时区。从我发现的情况来看,它没有特定的函数,但是代码

(new Date()).toString()

将生成类似

的内容
Mon Apr 18 2011 08:58:59 GMT+0200 (W. Europe Daylight Time)

在网站中,我发现最好的方法是为每个用户设置一个时区来显示所有时间。如果JavaScript getUtcOffset给出的偏移量与用户所在时区的预期偏移量不同,我将显示一个通知,让用户查看他们的设置。如果可以从日期猜出时区(我只发现在chrome中是这种情况),我会建议该时区,但我仍然采用选择框让用户手动选择时区。

即使这样,也有可能有错误的时区设置,而脚本没有注意到它,因为在一年中的大部分时间里,这两个时区可能是完全同步的。

一旦你有了一个时区(你可以用System.TimeZoneInfo.GetSystemTimeZones()枚举它们),你可以分别用System.TimeZoneInfo.ConvertTimeFromUtcSystem.TimeZoneInfo.ConverTimeToUtc转换UTC日期。

相关内容

  • 没有找到相关文章

最新更新