javascript - 如何使用 ASP.NET 查找客户机时区

标签 javascript asp.net timezone

我需要使用 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.ConvertTimeFromUtc 转换 UTC 日期和 System.TimeZoneInfo.ConverTimeToUtc

关于javascript - 如何使用 ASP.NET 查找客户机时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5699450/

相关文章:

javascript - 无法附加 jquery

移动设备上的 Javascript window.close

asp.net - 得墨忒耳定律和 OOP 混淆

javascript - 在 PhantomJS 预构建中设置浏览器时区

c# - 使用 TimeZoneInfo 调整时区的夏令时偏移

JavaScript RegExp 方法 exec() 只返回一项

javascript - 将数组复制到变量同时排除项目 - 性能

javascript - values.join 不是文件 http.es5.js Angular 4 中的函数

c# - 三层C#asp.net : insert dropdownlist selected text and value

PHP 忽略我的 date.timezone?