SQLite
strftime()函数将指定的一个时间值和修饰符对应的时间值按找指定的格式输出。
strftime()
语法
这里是 SQLite
strftime()的语法:
strftime(format, time_value [, modifier, modifier, ...])
参数
format
必需的。格式化字符串。 您可以使用以下的占位符构建格式化字符串:
%d- 一个月中的一天天: 00
%f- 小数秒: SS.SSS
%H- 小时: 00-24
%j- 一年中的一天: 001-366
%J- 儒略天数,有小数
%m- 月份: 01-12
%M- 分钟: 00-59
%s- 从 1970-01-01 开始的秒数
%S- 秒: 00-59
%w- 工作日编号, 0-6, 星期天为 0
%W- 周编号: 00-53
%Y- 年: 0000-9999
%%- %
time_value
可选的。时间值。时间值可以采用以下任何格式,如下所示。该值通常是一个字符串,但在格式为 12 的情况下,它可以是整数或浮点数。
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.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前进到工作日
N
unixepoch- Unix 时间戳
julianday- 返回儒略历
auto
localtime- 返回当前时间
utc- 返回 utc 时间
NNN表示一个数字。 可以是整数或者负数。 如果
NNN是负数,则表示减去。
返回值
SQLite
strftime()函数返回一个指定格式的日期时间字符串。如果不提供任何参数,
strftime()函数返回当前的日期。
如果您不提供
format参数,
strftime()函数将返回
NULL。
其他的日期时间函数都可以使用
strftime()函数实现:
strftime('%Y-%m-%d', ...) 相当于 date(...)。
strftime('%H:%M:%S', ...) 相当于 time(...)。
strftime('%Y-%m-%d %H:%M:%S', ...) 相当于 datetime(...)。
strftime('%J', ...) -- note-1 相当于 julianday(...),不同的是
julianday(...)返回一个数字。
strftime('%s', ...) -- note-1 相当于 unixepoch(...),不同的是
julianday(...)返回一个整数。
strftime()
示例
这里列举了一些示例以展示 SQLite
strftime()函数的常用的用法。
使用 SQLite
strftime()函数获取当前日期:
SELECT strftime('%Y-%m-%d'), strftime('%Y-%m-%d', 'now'); strftime('%Y-%m-%d') strftime('%Y-%m-%d', 'now')-------------------- ---------------------------2022-07-26 2022-07-26使用 SQLite
strftime()函数获取当前日期时间:
SELECT strftime('%Y-%m-%d %H:%M:%S'), strftime('%Y-%m-%d %H:%M:%S', 'now'); strftime('%Y-%m-%d %H:%M:%S') strftime('%Y-%m-%d %H:%M:%S', 'now')----------------------------- ------------------------------------2022-07-26 08:47:26 2022-07-26 08:47:26使用 SQLite
strftime()函数获取当前时间:
SELECT strftime('%H:%M:%S'), strftime('%H:%M:%S', 'now'); strftime('%H:%M:%S') strftime('%H:%M:%S', 'now')-------------------- ---------------------------08:48:40 08:48:40使用 SQLite
strftime()函数获取当前时间的 Unix 时间戳:
SELECT strftime('%s'), strftime('%s', 'now'); strftime('%s') strftime('%s', 'now')-------------- ---------------------1658825364 1658825364使用 SQLite
strftime()函数获取当前日期:
SELECT strftime('%Y-%m-%d', 'now', 'start of year', '1 year', '-1 day'); strftime('%Y-%m-%d', 'now', 'start of year', '1 year', '-1 d------------------------------------------------------------2022-12-31