Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用SQLite将时间转换为秒_Sqlite - Fatal编程技术网

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

如何使用SQLite将时间转换为秒,sqlite,Sqlite,我希望能够在SQLite中的列中存储例如2:30pm,并且能够提取该时间并将其转换为秒,SQLite是否有用于此的函数 我在读,他们说他们有时间函数,但我能这样做吗?我知道SQLite没有时间数据类型,但我应该将其存储为什么类型,varchar 2:30pm --> 52200 我读了更多关于这方面的内容: 似乎可以接受的时间清单是: YYYY-MM-DD YYYY-MM-DD HH:MM YYYY-MM-DD HH:MM:SS YYYY-MM-DD HH:MM:SS.SSS YYYY

我希望能够在SQLite中的列中存储例如2:30pm,并且能够提取该时间并将其转换为秒,SQLite是否有用于此的函数

我在读,他们说他们有时间函数,但我能这样做吗?我知道SQLite没有时间数据类型,但我应该将其存储为什么类型,varchar

2:30pm --> 52200

我读了更多关于这方面的内容:

似乎可以接受的时间清单是:

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:30pm作为格式?

因为您需要从一天开始(根据您的说明)以秒为单位的值,您可以将其存储为整数。要将它从一天的开始转换为秒,而不是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')

您将使用这些数据做什么?答案将取决于此。我正在为iPhone Buss stop应用程序创建一个数据库,我想在其中以下午2:30的格式存储时间,但当我提取信息时,以秒为单位会很有用。当你保持存储为整数时,你是指将“下午2:30”存储为整数吗?这样行吗?看起来你用的是14:30(24小时制),我用的是下午2:30(12小时制)。。。。我怎样才能把下午2:30改为14:30?我在这个表中也有很多次,上午9:40,上午10:50,下午1:40等等。是的,这部分你需要在数据库之外完成。如果在最后发现“pm”,则可以通过添加12小时来简化任务。但您必须将该逻辑置于SQL之外。我将我的表更改为24小时格式,这非常有效:
选择strftime('%s','2004-01-01'| stop_time)-strftime('%s','2004-01-01 00:00:00')来自route_stop_list
这也很好:
从route_stop_列表中选择strftime('%s','1970-01-01'| stop|time)