我遇到了时区问题,我建立的一个类使用以下方法查找用户的本地时区:
Dim Timezone As String = TimeZoneInfo.Local.ToString
然后将其存储在 MySQL DB 中。
当我拉时区时,我再次将其与用户的本地时区进行比较,以将时间转换为本地时区:
Dim D_0 As DateTime
Dim D_1 As DateTime
Dim Event_Timezone As TimeZoneInfo
Dim User_Timezone As TimeZoneInfo
Event_Timezone = TimeZoneInfo.FindSystemTimeZoneById(U_1(5).ToString)
User_Timezone = TimeZoneInfo.Local()
D_0 = TimeZoneInfo.ConvertTime(U_1(i + 4), Event_Timezone, User_Timezone)
D_1 = TimeZoneInfo.ConvertTime(U_1(i + 8), Event_Timezone, User_Timezone)
这将返回以下错误:
在本地计算机上找不到时区 ID“(UTC-05:00) 东部时间(美国和加拿大)”。
这是一个令人困惑的错误,因为这是本地计算机仅在几秒钟前指定的时区。它几乎适用于所有其他时区。我应该这样做有更好的方法吗?有谁知道为什么本地计算机在几秒钟后找不到本地计算机定义的时区?