2014-03-31 82 views
0

我正在製作一個應用程序,顯示世界各國的時間。用戶可以從組合框中選擇時區,時間應顯示在標籤中。我使用下面的代碼UTC時間轉換爲選擇時區:獲取時間從日期VB.Net

Dim ConvertedTime As Date = TimeZoneInfo.ConvertTimeFromUtc(Date.UtcNow, CBTime1.SelectedItem) 

CBTime1列出了代碼的所有時區:

Dim TimeZones As ReadOnlyCollection(Of TimeZoneInfo) 
    TimeZones = TimeZoneInfo.GetSystemTimeZones() 
    CBTime1.BindingContext = New BindingContext 
    CBTime1.DataSource = TimeZones 

應該是什麼,顯示該轉換後的時間碼格式:08:36:27 PM 我試過各種代碼但沒有工作。

回答

0

您可以使用自定義格式字符串格式化時間:

Dim formatted As String = ConvertedTime.ToString("hh':'mm':'ss tt") 

參考:Custom Date and Time Format Strings

+0

什麼的「格式意味着什麼?如果我輸入「hh:mm:ss tt」,會不會是一樣的? – Leeuwenhok

+0

@Luuwenhok:撇號是把格式的文字值。冒號是時間分隔符的標記,因此當前文化的時間分隔符將在那裏使用。無論文化設置如何,通過將其設置爲文字值,它總是冒號。 – Guffa

+0

你說的這種文化是什麼? :p Btw,你的代碼完美工作。我花了一個小時試圖找出昨晚,但不能。我嘗試了將Date轉換爲TimeSpan,然後將其轉換爲string.format(「hh:mm:ss」)的東西,但它給了我一個FormatException的錯誤或者沿着這些行的東西。謝謝你的幫助! :) – Leeuwenhok