我处于需要通过JavaScript获取用户pc时区信息的情况。如果我得到时区信息,那么我想将这些信息提供给Noda Time库,以获取用户当前的日期和时间。
我需要根据用户pc时区获取用户端日期和时间的原因,因为我不想依赖于用户的PC日期和时间。时间因为我正在开发一个敏感的应用程序,我们需要显示时区明智的日期。我可以轻松地获取用户的电脑日期&时间,但如果用户更改日期和时间,则存在一个风险那时我们将无法在运行时检测到它。
用户可以改变他的时区,但这种情况很少见。
这里我有一个.net代码,我们可以在其中放置zoneid并根据时区信息获取当前日期时间。
var zone = TimeZoneInfo.FindSystemTimeZoneById(zoneId);
var now = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, zone);
使用noda库的同样方法我得到了一个代码,我们可以根据时区信息放置zoneid并获取当前日期时间。
// zoneId is the TZDB ID, e.g. "Europe/London"
DateTimeZone zone = DateTimeZoneProviders.Tzdb[zoneId];
// clock would be an IClock implementation of some description; rather than
// having a static method, an interface encourages testability.
ZonedDateTime now = clock.Now.InZone(zone);
所以我的问题是如何通过javascript获取zoneid ,接下来我需要获得基于zoneid的用户pc本地时间,我可以将其放到.net datetime类或野田图书馆。
如果有人有任何想法,请与我分享以实现我的目标。感谢