我对时区缺乏了解 cz im 从不转换时区。我有一个项目,要求我通过他们的城市代码将我们的客户原始时区转换为我的服务器时区。
我无法通过谷歌搜索找到其他任何地方。我发现的是使用
TimeZoneInfo.FindSystemTimeZoneById("Anywhere Else Time"(.
但我需要的是这样的
TimeZoneInfo.FindTimeZoneByCityCode("DAM"(
为大马士革时区。
有什么办法或建议可以做到这一点吗? 任何建议将不胜感激。
顺便说一下,对不起我的英语不好
可以使用必应 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