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

Ari*_*osh 6 sqlite

我希望能够将例如下午 2:30 存储在 SQLite 的列中,并且能够提取该时间并将其转换为秒,SQLite 有这方面的功能吗?

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

2:30pm --> 52200
Run Code Online (Sandbox Code Playgroud)

我正在阅读更多内容: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
Run Code Online (Sandbox Code Playgroud)

那么这是否意味着您不能使用 2:30pm 作为格式?

v01*_*dya 6

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

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

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