SQLite unixepoch() 函数使用指南
SQLite unixepoch() 函数将通过一个时间值和修饰符指定的时间值转为一个 Unix 时间戳,即,距离 UTC 时间 1970-01-01 00:00:00 的秒数。
unixepoch() 语法
这里是 SQLite unixepoch() 的语法:
unixepoch(time_value [, modifier, modifier, ...])
参数
time_value-
可选的。时间值。时间值可以采用以下任何格式,如下所示。该值通常是一个字符串,但在格式为 12 的情况下,它可以是整数或浮点数。
YYYY-MM-DDYYYY-MM-DD HH:MMYYYY-MM-DD HH:MM:SSYYYY-MM-DD HH:MM:SS.SSSYYYY-MM-DDTHH:MMYYYY-MM-DDTHH:MM:SSYYYY-MM-DDTHH:MM:SS.SSSHH:MMHH:MM:SSHH:MM:SS.SSSnow- 表示当前时间DDDDDDDDDD.dddddd- 带小数部分的儒略历日期数
modifier-
可选的。您可以使用零个或多个更改时间值。多个修饰符从左到右按照顺序应用。您可以使用如下的修饰符:
NNN days- 时间值time_value加上NNN天NNN hours- 时间值time_value加上NNN小时NNN minutes- 时间值time_value加上NNN分钟NNN.NNNN seconds- 时间值time_value加上NNN.NNNN秒NNN months- 时间值time_value加上NNN个月NNN years- 时间值time_value加上NNN年start of month- 回退到时间值time_value的月初start of year- 回退到时间值time_value的年初start of day- 回退到时间值time_value当天的开始weekday N- 将时间值time_value前进到工作日Nunixepoch- Unix 时间戳julianday- 返回儒略历autolocaltime- 返回当前时间utc- 返回 utc 时间
NNN表示一个数字。 可以是整数或者负数。 如果NNN是负数,则表示减去。
返回值
SQLite unixepoch() 函数返回一个指定的时间值对应的 Unix 时间戳。如果不提供任何参数, julianday() 函数返回当前的日期时间对应的 Unix 时间戳。
unixepoch() 示例
这里列举了一些示例以展示 SQLite unixepoch() 函数的常用的用法。
-
使用 SQLite
unixepoch()函数获取当前时间的 Unix 时间戳:SELECT unixepoch(), unixepoch('now');unixepoch() unixepoch('now') ----------- ---------------- 1658823494 1658823494 -
使用 SQLite
unixepoch()函数将2022-07-26 12:00:00的上一秒转为 Unix 时间戳:SELECT unixepoch('2022-07-26 12:00:00'), unixepoch('2022-07-26 12:00:00', '-1 second');unixepoch('2022-07-26 12:00:00') unixepoch('2022-07-26 12:00:00', '-1 second') -------------------------------- --------------------------------------------- 1658836800 1658836799 -
使用 SQLite
unixepoch()函数获取当年的最后一天对应的 Unix 时间戳:SELECT unixepoch('now', 'start of year', '1 year', '-1 day');unixepoch('now', 'start of year', '1 year', '-1 day') ----------------------------------------------------- 1672444800