2014-11-20 69 views
0

我在山區標準時間從我的db獲得時間值。我想知道如何最準確地將這些值轉換爲用戶的時區。在VB.NET中如何將MST時區值轉換爲另一個時區?

我有這樣的功能(在格式和在MST一個時間的流逝):

Dim localZone As TimeZone = TimeZone.CurrentTimeZone 
    If localZone Is Nothing Or localZone.StandardName = "Mountain Standard Time" Then 
     Return DateTimeInMST.ToString(format) & " MST" 
    Else 
     Return (Return Value here in the user's timezone.) 

回答

1

使用TimeZoneInfo代替TimeZone在docs建議。使用它,你可以這樣做:

Dim mst = TimeZoneInfo.FindSystemTimeZoneById("Mountain Standard Time") 
Dim local = TimeZoneInfo.Local 
Dim localTime = TimeZoneInfo.ConvertTime(DateTimeInMST, mst, local) 
0

您可以使用ConvertTime方法從Mountain Standard Time轉換到用戶的本地時間。您的代碼如下所示:

Dim localZone As TimeZoneInfo = TimeZoneInfo.Local 
    If localZone Is Nothing Or localZone.StandardName = "Mountain Standard Time" Then 
     Return DateTimeInMST.ToString(format) & " MST" 
    Else 
     Return System.TimeZoneInfo.ConvertTime(DateTimeInMST, TimeZoneInfo.FindSystemTimeZoneById("Mountain Standard Time"), TimeZoneInfo.Local) 

查找更多有關doc的信息。

相關問題