Как я могу найти часовой пояс по городскому коду? - PullRequest
0 голосов
/ 18 апреля 2019

У меня недостаточно знаний о часовом поясе, потому что я никогда не конвертирую часовой пояс. У меня есть проект, который требует от меня преобразования часового пояса нашего клиента в часовой пояс моего сервера по их коду города.

я не мог найти больше нигде, прибегая к помощи. то, что я нашел, использует

TimeZoneInfo.FindSystemTimeZoneById («Где-то еще»).

но мне нужно

TimeZoneInfo.FindTimeZoneByCityCode ("DAM")

для часового пояса Дамаска.

есть ли способ или предложение сделать это? Любой совет будет оценен.

кстати, извините за мой плохой английский

1 Ответ

0 голосов
/ 18 апреля 2019

Вы можете использовать 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...