如何使用SQLite将时间转换为秒

时间:2013-11-05 18:29:30

标签: sqlite

我希望能够将例如下午2:30存储在SQLite的一个列中,并且能够将该时间转换为秒,SQLite是否具有此功能?

我正在阅读http://www.sqlite.org/datatype3.html,他们说他们有时间功能,但我可以这样做吗?我知道SQLite没有时间数据类型,但我应该将它存储为什么类型,varchar?

2:30pm --> 52200

我正在阅读更多内容:http://www.sqlite.org/lang_datefunc.html

似乎可接受的时间列表是:

YYYY-MM-DD
YYYY-MM-DD HH:MM
YYYY-MM-DD HH:MM:SS
YYYY-MM-DD HH:MM:SS.SSS
YYYY-MM-DDTHH:MM
YYYY-MM-DDTHH:MM:SS
YYYY-MM-DDTHH:MM:SS.SSS
HH:MM
HH:MM:SS
HH:MM:SS.SSS
now
DDDDDDDDDD

这是否意味着您不能使用下午2:30作为格式?

1 个答案:

答案 0 :(得分:4)

由于您需要从一天开始的秒数(根据您的说明),您可以只存储为整数。要将它从一天开始而不是1970年转换为秒,只需从当天的午夜减去它。

像这样的东西     strftime('%s','2004-01-01 14:30:00') - strftime('%s','2004-01-01 00:00:00')

如果您尝试存储的下午2:30是当前时间,那么您可以缩短它     strftime('%s','now') - strftime('%s','2004-01-01 00:00:00')