Функция TIME() в Sqlite3 возвращает неправильное время

Рейтинг: 0Ответов: 1Опубликовано: 20.01.2023

Создаю таблицу в Sqlite3:

CREATE TABLE session (
id      INTEGER  PRIMARY KEY AUTOINCREMENT
                 UNIQUE
                 NOT NULL,
user_id INTEGER  NOT NULL,
time    DATE NOT NULL
                 DEFAULT (TIME() ) );

При добавлении данных в таблицу:

INSERT INTO session (user_id) VALUES('4')

Запись выполняется, но время в столбце time не соответствует системному. И отличается ровно на 2 часа. Перезапускал ПК, менял системное время, результат тот же.

Ответы

▲ 2Принят

Функция TIME() возвращает время в часовом поясе UTC. Чтобы получить время в текущем часовом поясе, используйте:

TIME('now','localtime')