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