SQLite strftime() 函数使用指南

来源:这里教程网 时间:2026-03-25 18:06:04 作者:

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

相关推荐

热文推荐