4

我希望能够将例如下午 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 作为一种格式?

4

1 回答 1

4

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

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

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

于 2013-11-05T18:38:17.017 回答