Как изменить время на местное время при загрузке XML в таблицу в vb.net - PullRequest
0 голосов
/ 29 января 2020

Я хотел бы загрузить это https://cdn-nfs.faireconomy.media/ff_calendar_thisweek.xml в таблицу в VB. NET, что я могу сделать, используя следующий код

Dim xmlDataSet As System.Data.DataSet = New System.Data.DataSet("XML DataSet")
xmlDataSet.ReadXml("https://cdn-nfs.faireconomy.media/ff_calendar_thisweek.xml")
GridControl1.DataSource = xmlDataSet.Tables("event")

, но у календаря есть время , Я хочу изменить местное время на время, установленное на компьютере.

1 Ответ

0 голосов
/ 29 января 2020

Я изменил способ чтения XML и провел некоторые вычисления. Это работает, но имеет фиксированное преобразование.

' What the XML looks like.
' <weeklyevents>
'   <event>
'     <title>Bank Holiday</title>
'     <country>AUD</country>
'     <date><![CDATA[01-26-2020]]></date>
'     <time><![CDATA[9:00pm]]></time>
'     <impact><![CDATA[Holiday]]></impact>
'     <forecast />
'     <previous />
'   </event>

Dim xe As XElement
' read the XML 
xe = XElement.Load("http://cdn-nfs.faireconomy.media/ff_calendar_thisweek.xml")

' process each event 
For Each el As XElement In xe...<event>
    Dim d As DateTime
    Dim t As DateTime
    If DateTime.TryParse(el.<date>.Value, d) Then
        'good date
        If DateTime.TryParse(el.<time>.Value, t) Then
            'good time
            d = d.Add(t.TimeOfDay)
            Dim country As String = el.<country>.Value
            Dim offs As Integer = -6 'USA CST
            'code to figure offset here using country????
            '>

            d = d.AddHours(offs)
            'then update the XML
            el.<date>.Value = d.ToString("d MMM yyyy") 'format to your liking
            el.<time>.Value = d.ToString("HH:mm:ss")
        End If
    End If
Next
Dim xmlDataSet As System.Data.DataSet = New System.Data.DataSet("XML DataSet")
xmlDataSet.ReadXml(xe.CreateReader)
GridControl1.DataSource = xmlDataSet.Tables("event")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...