SQLite 日期时间格式化函数 strftime()
SQLite 日期时间格式化函数 strftime()
根据第一个参数指定的格式字符串返回日期
strftime(format, timestring, modifier, modifier, ...)
参数 | 说明 |
---|---|
format | 格式化字符串 |
timestring | 字符串格式的时间 如果是 now ,则返回当前的日期时间如果是数字,则必须添加修饰符 unixepoch 表示传递的是时间戳如果是其它格式的字符串,则必须是 SQLite 支持的日期时间格式 |
modifier | 修饰符,会改变返回的返回的日期 |
格式化字符
SQLite 支持下列格式化元字符
元字符 | 描述 |
---|---|
%d | 一月中的第几天,01-31 |
%f | 带小数部分的秒,SS.SSS |
%H | 小时,00-23 |
%j | 一年中的第几天,001-366 |
%J | 儒略日数,DDDD.DDDD |
%m | 月,00-12 |
%M | 分,00-59 |
%s | 从 1970-01-01 算起的秒数 |
%S | 秒,00-59 |
%w | 一周中的第几天,0-6 (0 is Sunday) |
%W | 一年中的第几周,01-53 |
%Y | 年,YYYY |
%% | % 字符 |
日期时间格式
strftime()
支持的日期时间格式有
以 2018 年 1 月 2 日 3 点 4 分 5 秒 600 毫秒
为例
日期时间格式 | 范例 |
---|---|
YYYY-MM-DD | 2018-01-02 |
YYYY-MM-DD HH:MM | 2018-01-02 03:04 |
YYYY-MM-DD HH:MM:SS.SSS | 2018-01-02 03:04:05.600 |
MM-DD-YYYY HH:MM | 01-02-2018 03:04 |
HH:MM | 03:04 |
YYYY-MM-DDTHH:MM | 2018-01-02 03:04 |
HH:MM:SS | 03:04:05 |
YYYYMMDD HHMMSS | 20180102 030405 |
now | 2018-01-02 |
DDDDDDDDDD | 返回当前时间戳,1523496694160 |
`'T' 是用于分隔日期和时间的文字字符
修饰符
strftime()
函数中可用的修饰符 modifier
有
NNN days NNN hours NNN minutes NNN.NNNN seconds NNN months NNN years start of month start of year start of day weekday N unixepoch localtime utc
范例
-
计算当前的时间戳
SELECT strftime('%s','now');
输出结果如下
strftime('%s','now') -------------------- 1523500279
-
输出当前的日期
SELECT strftime('%Y-%m-%d','now');
输出结果如下
strftime('%Y-%m-%d','now') -------------------------- 2018-04-12
-
输出当前时间
SELECT strftime('%H:%M:%S','now');
输出结果如下
strftime('%H:%M:%S','now') -------------------------- 02:32:51
默认是格林威治时间
-
输出当前的日期时间
SELECT strftime('%Y-%m-%d %H:%M:%S','now');
输出结果如下
strftime('%Y-%m-%d %H:%M:%S','now') ----------------------------------- 2018-04-12 02:33:37