我对时区知识不足,因此我从未转换过时区。 我有一个项目,要求我通过他们的城市代码将客户来源时区转换为服务器时区。
我无法通过谷歌搜索找到其他地方。 我发现使用的是
TimeZoneInfo.FindSystemTimeZoneById(“其他时间”)。
但是我需要的是
TimeZoneInfo.FindTimeZoneByCityCode(“ DAM”)
大马士革时区。
有什么办法或建议吗?任何建议将不胜感激。
对不起,我的英语不好
答案 0 :(得分:0)
您可以使用Bing API从地址的提供的部分获取时区
Private Function GetTimeZone(ByVal Loc As String) As String
Dim key As String = "YourBingKeyHere"
Dim webClient As New Net.WebClient
Dim result As String = webClient.DownloadString("http://dev.virtualearth.net/REST/v1/TimeZone/" & Loc & "?o=xml&key=" & key)
Dim xmlDoc As New Xml.XmlDocument()
xmlDoc.LoadXml(result)
Dim xmlNodeRdr As New Xml.XmlNodeReader(xmlDoc)
Dim DS As New DataSet
DS.ReadXml(xmlNodeRdr, XmlReadMode.InferSchema)
If DS.Tables.Contains("TimeZone") Then
If DS.Tables("TimeZone").Rows.Count > 0 Then
Dim Drow() As DataRow = DS.Tables("TimeZone").Select("Abbreviation IS NOT NULL")
Dim TimeZoneDataRow As DataRow = Drow(0)
Dim TimeZone As String = TimeZoneDataRow("Abbreviation").ToString
Return TimeZone
Else
Return Nothing
End If
Else
Return Nothing
End If
End Function
用法:
Private Sub ButtonGetTimeZone_Click(sender As Object, e As EventArgs) Handles ButtonGetTimeZone.Click
MsgBox(GetTimeZone("29910"))
End Sub