VB.NET - 查找当前时区,然后转换为太平洋

eqi*_*qiz 1 vb.net datetime

我试着寻找代码,但我没有太多运气.我发现了一些小片段,我知道如何将当前时间转换为UTC,但我真的想知道如何获得当前时区,然后将时间转换为太平洋时间.

我有很多用户从加利福尼亚到缅因州一直使用我的软件.所以我需要找出它们所处的时区,然后将它转换为太平洋,无论它们在哪里,所以我可以准确地将本地时间与服务器时间进行比较.

Joh*_*ner 7

您可以使用TimeZoneInfo类为您转换时区:

    Dim now As DateTime = DateTime.Now
    MessageBox.Show(now.ToString())

    Dim pacificNow = System.TimeZoneInfo.ConvertTime(now, TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time"))
    MessageBox.Show(pacificNow.ToString())
Run Code Online (Sandbox Code Playgroud)

您可以在MSDN上阅读有关TimeZones和Ids的更多信息.