Как вставить значение datetime в базу данных SQLite?

Я пытаюсь вставить значение datetime в SQLite

6 ответов


формат, который вам нужен:

'2007-01-01 10:00:00'

т. е. гггг-ММ-ДД чч:мм:СС

по возможности, однако, используйте параметризованный запрос, поскольку это освобождает вас от беспокойства о деталях форматирования.


способ хранения дат в SQLite:

 yyyy-mm-dd hh:mm:ss.xxxxxx

SQLite также имеет некоторые функции даты и времени можно использовать. См.SQL в понимании SQLite, функции даты и времени.


вы должны изменить формат строки даты, которую вы предоставляете, чтобы иметь возможность вставить ее с помощью функции STRFTIME. Причина в том, что нет возможности в течение месяца аббревиатура:

%d  day of month: 00
%f  fractional seconds: SS.SSS
%H  hour: 00-24
%j  day of year: 001-366
%J  Julian day number
%m  month: 01-12
%M  minute: 00-59
%s  seconds since 1970-01-01
%S  seconds: 00-59
%w  day of week 0-6 with sunday==0
%W  week of year: 00-53
%Y  year: 0000-9999
%%  % 

альтернативой является формат даты/времени в уже принятый формат:

  1. ГГГГ-ММ-ДД
  2. ГГГГ-ММ-ДД ЧЧ: ММ
  3. ГГГГ-ММ-ДД ЧЧ: ММ: СС
  4. ГГГГ-ММ-ДД ЧЧ: ММ: СС.SSS
  5. ГГГГ-ММ-ДДТЧЧ:ММ
  6. ГГГГ-ММ-ДДТЧЧ:ММ:СС
  7. ГГГГ-ММ-ДДТЧЧ:ММ:СС.SSS
  8. HH: MM
  9. HH: MM: SS
  10. HH: MM: SS.SSS
  11. теперь

ссылки: SQLite дата и время функции


использовать CURRENT_TIMESTAMP когда вам это нужно, вместо NOW() (который является MySQL)


читать этой: 1.2 Date и "тип данных" время лучший тип данных для хранения даты и времени:

TEXT лучшее формат: yyyy-MM-dd HH:mm:ss

читать тут этой страница; это лучше всего объяснить о дате и времени в SQLite. Надеюсь, это поможет вам


Это может быть не самый популярный или эффективный метод, но я склонен отказываться от сильных типов данных в SQLite поскольку они все по существу сбрасываются как строки в любом случае.

Я написал тонкую оболочку C# вокруг библиотеки SQLite раньше (при использовании SQLite с C#, конечно) для обработки вставок и извлечений из SQLite, как если бы я имел дело с объектами DateTime.