我有一个遗留应用程序,它使用Windows时区信息来计算日期。例如,35 =东海岸,20 =中央,15 =山。这是当前的功能。它需要一个带时区的日期并将其转换为传入的时区。这在xp上运行得很好,但在Windows 7上崩溃。我猜测它与它的win32部分或Windows 7处理时区有关。VB.net时区问题
我不希望更改时区的格式,因为这可能会导致一些问题。代码是vb.net,我没有写它。
Public Shared Function ConvertTime(ByVal time As Date, ByVal timeZone As Integer) As Date
Dim UtcNow As Date = time.ToUniversalTime
Dim selectedTimeZone As TimeZones.Win32.Win32TimeZone = TimeZones.Win32.TimeZones.GetTimeZone(timeZone)
Return selectedTimeZone.ToLocalTime(UtcNow)
End Function
任何人都有此问题吗?
它不会为任何的Windows XP是获得时区后,工作的原因需要提升的privliages。这足够简单,可以在ecode内完成。当然,你不需要使用Win32函数来确定系统时间和时区。 Win32库的功能完全相同。 – 2012-08-06 19:02:35