0

新编译的 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

该版本是用于 ARM-Linux 的 SQLite 3_6_22。我不确定......也许是一些交叉编译问题?

4

2 回答 2

1

看起来 SQLite 由于某种原因无法访问时钟,所以它假设日期为零。它使用儒略日来表示其内部日期,因此它转换为 -4713-11-24 12:00:00。

于 2010-03-09T04:54:40.983 回答
0

...确保针对您的特定 ARM ( -mtune=arm920t) 型号调整编译,而不仅仅是通用的 armel、arm9 等。否则,该程序通常可以正常工作,但无法访问诸如时钟之类的各种功能...

于 2010-06-24T13:32:18.613 回答