Как вывести XML без смещения "-05: 00" по UTC? - PullRequest
0 голосов
/ 01 апреля 2011

У нас есть консольное приложение VB.Net 2008, чей Module1.vb выполняет несколько запросов из нашей базы данных SQL Server и выводит их в виде XML для отправки нашему клиенту.

Проблема заключается в том, что элементы DateTime, которыесодержать только времена (например, 1900-01-01 21: 26: 03.000) выводятся в XML с добавленным смещением UTC (универсальное время) «-06: 00», например, 13: 56: 55.0000000-06:00

Это преобразовывается в час позже, когда наши клиенты обращаются к нему в восточном часовом поясе, поэтому они запрашивают значения времени, такие как 13: 56: 55.0000000, без -06.00.

Кто-нибудьзнаете, как это сделать?

Подробности:

В решении VS есть веб-ссылка, которую я назову WS.Module1.vb запрашивает БД, скажем, таблицу tblStats, и считывает данные в DataReader.Для каждой строки:

Dim MyWS As New WS.tblSTATS_TYPE_V1 'which is a complexType in the wsdl
MyWS.Start_Time = CheckTime(MyDataReader("START_TIME"))

... где CheckTime равно:

Private Function CheckTime(ByVal Value As Object) As DateTime
    If (IsNothing(Value) = True) Then Return New DateTime(0)
    If (IsDBNull(Value) = True) Then Return New DateTime(0)
    If (IsDate(Value) = False) Then Return New DateTime(0)
    Return New DateTime(CDate(Value).TimeOfDay.Ticks, DateTimeKind.Unspecified)
End Function

… но мое добавление DateTimeKind.Unspecified не дало результата.

Любое направление, которое кто-либо может дать, будет оценено - спасибо!

1 Ответ

0 голосов
/ 01 апреля 2011

Вы можете использовать DateTimeOffset вместо класса DateTime.Он предлагает дополнительную информацию о часовом поясе.

...