我想在SQLITE3
中存储GPS值,如纬度,经度和时间戳值。对于纬度和经度,我的架构类似于REAL
,对于时间戳值,我的架构类似于DATETIME
。
已成功插入。但是当我尝试检索它时显示服务器错误,
Can't locate DateTime/Format/SQLite.pm in @INC
如何在SQLite3数据库中存储时间戳值,这是存储这些值的最佳数据类型。我想用时间戳做一些计算,如时间延迟等。
任何有用的帮助将不胜感激。提前谢谢。
答案 0 :(得分:0)
您可以将时间戳存储在Unix Time中,例如:
SELECT strftime('%s', 'now');
将返回如下内容:1367641852
结果将代表自January 1, 1970
以来经过的秒数。
因此,您可以轻松地减去两个不同的时间戳,并获得两个不同时间之间的延迟秒数。
此外,您应该将时间戳的架构更改为INTEGER
。
答案 1 :(得分:0)
SQLite3没有DATETIME格式。相反,它具有日期时间功能。请参阅文档here。
一个流行的选择是将日期时间存储为ISO格式的字符串
YYYY-MM-DD HH:MM:SS.SSS
优点是这些字符串按正确的顺序排序。
您还可以将日期时间存储为SQLite的Julian Day格式的数字,或者作为semihyagcioglu建议的Unix时间存储。