Я запускаю небольшой сканер на виртуальном сервере Ubuntu, который ежечасно запускается crontab. Дата и время вставляются путем установки даты по умолчанию на TIMESTAMP DEFAULT CURRENT_TIMESTAMP
.
Создание таблицы выглядит следующим образом:
CREATE TABLE links (page TEXT, link TEXT, date TIMESTAMP DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY(page,link));
Дата и время сохраняются в порядке, но они на один час (один час позади) по норвежскому времени (GMT +1). Сервер находится где угодно, мне просто нужно, чтобы он был в GMT + 1.
Набрав date
в сеансе ssh, я получаю:
Wed Dec 19 17:26:02 CET 2012
, и это правильно (только сейчас).
Так откуда же пришло время sqlite3? Что я должен сделать, чтобы установить время так, чтобы sqlite3 правильно выбрал время?
sqlite хранит даты в утц. Чтобы увидеть дату в местном часовом поясе, используйте модификатор местного времени.
select datetime(date,'localtime') from links;