в C # и sqlite значения даты и времени неправильно вставлены или неправильно опрошены - PullRequest
1 голос
/ 06 февраля 2012

У меня была проблема при вставке значений даты и времени в базу данных sqlite в C #. Позже я нашел способ сделать это. Теперь я могу вставить значения DateTime, отформатировав их так:

data.Add("sayacTarihZamani", string.Format("{0:u}", MydateTimeData)); 

Я вижу, что данные правильно вставляются в таблицу базы данных с помощью инструмента администрирования sqlite. Когда я запрашиваю эти данные, значения, которые приходят не так. Значения на 3 часа позже нормального значения.

Например, в админке я вижу значение 30.03.2011 16:00:00, но в сетке C # значение 30.03.2011 19:00:00 ..

Есть одно исключение из этого. Я вручную ввел строку с помощью инструмента администратора. Это значение даты 30.03.2011 11:30:00 в сетке данных это все еще 30.03.2011 11:30:00 (true)

Как правильно вставить и запросить данные даты и времени, используя sqlite и C #.

Спасибо, что уделили время,
Ферда

Ответы [ 2 ]

1 голос
/ 07 февраля 2012

data.Add ("sayacTarihZamani", string.Format ("{0: гггг-мм-дд ЧЧ: мм: сс}", mydatetime));

работал нормально.

Спасибо за вашу помощь Ферда

1 голос
/ 06 февраля 2012

Когда вы используете спецификатор u, ваш DateTime автоматически конвертируется в универсальное время. Из документов (выделено мной):

Спецификатор стандартного формата "U" представляет собой пользовательскую дату и время строка формата, которая определяется указанной культурой Свойство DateTimeFormatInfo.FullDateTimePattern. Шаблон является такой же, как шаблон "F". Однако значение DateTime автоматически конвертируется в UTC перед форматированием .

Попробуйте использовать шаблон F, если хотите сохранить местное время.

...