O sqlite armazena as datas no utc. Para ver uma data em localtimezone, use o modificador localtime.
select datetime(date,'localtime') from links;
Eu corro um pequeno crawler em um servidor virtual do Ubuntu, iniciado pelo crontab por hora. A data e hora são inseridas, padronizando a data arquivada como TIMESTAMP DEFAULT CURRENT_TIMESTAMP
.
A criação de tabelas é assim:
CREATE TABLE links (page TEXT, link TEXT, date TIMESTAMP DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY(page,link));
O datetime é armazenado bem, mas uma hora de folga (uma hora atrasada) no horário norueguês (GMT +1). O servidor está localizado onde quer que seja, eu só preciso que ele esteja no GMT + 1.
Digitando date
na sessão ssh eu recebo:
Wed Dec 19 17:26:02 CET 2012
e isso está correto (agora).
Então, de onde vem o sqlite3? O que devo fazer para definir a hora para que o sqlite3 acerte o tempo?
O sqlite armazena as datas no utc. Para ver uma data em localtimezone, use o modificador localtime.
select datetime(date,'localtime') from links;