Преобразование даты и времени в другой формат
Привет, у меня есть следующие коды в VB. У меня есть переменная в DateTime, и я попытался преобразовать формат возвращаемого значения из базы данных в yyyy-MM-dd HH:mm:ss я попытался преобразовать его в строку, чтобы изменить ее формат, но, похоже, он работает не так, как ожидалось. Ниже приведены мои коды:
Dim woStartDate As DateTime While readerSQL.Read() If Not IsDBNull(readerSQL.Item("WOStartDate")) Then woStartDate = readerSQL.Item("WOStartDate") '11/8/2016 1.52 PM woStartDate = woStartDate.ToString("yyyy-MM-dd HH:mm:ss") '2016-11-08 13:52:21(expected result) Else woStartDate = DateTime.Now End If End While
Значение остается в том же исходном формате после преобразования. Я использовал эту функцию много раз(в другой программе), и, похоже, у меня нет никаких проблем с преобразованием.
Что я уже пробовал:
1. Пытался конвертировать readerSQL.Пункт("WOStartDate") в строку напрямую, но возвращает ошибку.
Ralf Meier
Вы уверены, что ваша кодовая часть после IF работает ...?
Я предполагаю, что вы получаете IsDBNull от элемента, и из-за этого ваш код работает в ветке ELSE.
Не могли бы вы проверить и подтвердить (или не подтвердить) это с помощью отладки ...?
При попытке прямого преобразования элемента он возвращает ошибку ... какую ошибку вы получаете и ... каково содержание этого пункта ? Я думаю, что это та же проблема, что и выше ...
Jamie888
Да, сэр, я уже отлаживал свои коды раньше. Она действительно перетекает в часть IF. Значение GETDATE () находится в формате 11/8/2016 1.52 PM. Затем дело доходит до woStartDate.ToString ("yyyy-MM-dd HH:mm:ss") часть для преобразования, но ничего не происходит.
Ralf Meier
см. мое решение (2).