Отрицательные даты в SQLite - PullRequest
0 голосов
/ 08 марта 2010

Вновь скомпилированный SQLite показывает странное поведение в отношении функций даты и времени. Ты хоть представляешь, что происходит и как это исправить?

    $ date
    Mon Mar  8 14:52:11 CET 2010

    $ ./sqlite3 TEST0
    SQLite version 3.6.22
    Enter ".help" for instructions
    Enter SQL statements terminated with a ";"
    sqlite> SELECT date('now');
    -4713-11-24

    sqlite> SELECT strftime('%s','now');
    -210866760000

    sqlite> select datetime( -210866760000 , 'unixepoch');
    1970-01-01 00:00:00

Версия SQLite 3_6_22 для ARM-Linux. Я не уверен ... может быть, есть проблемы с кросс-компиляцией?

Ответы [ 2 ]

1 голос
/ 09 марта 2010

Похоже, SQLite по какой-то причине не может получить доступ к часам, поэтому он предполагает нулевую дату. Он использует юлианский день для внутреннего представления даты, поэтому он преобразуется в -4713-11-24 12: 00: 00.

0 голосов
/ 24 июня 2010

... убедитесь, что компиляция настроена под вашу конкретную модель ARM (-mtune=arm920t), а не просто универсальный armel, arm9 и тому подобное. В противном случае программа работает нормально, но не получает доступа к различным функциям, таким как часы ...

...