SQLite strftime函数是一个非常强大的函数,可帮助您获取日期和时间以及执行日期计算。
语法:
strftime(format, timestring [, modifier1, modifier2, ... modifier_n ] )
在这里,格式可以是以下任意一种:
| 索引 | 格式 | 说明 |
|---|---|---|
| 1) | %Y | 年份为4位数字(0000至9999) |
| 2) | %W | 一年中的一周(00到53) |
| 3) | %w | 星期几(0到6,其中0是星期日) |
| 4) | %m | 一年中的月份(01到12) |
| 5) | %d | 每月的某天(00到31) |
| 6) | %H | 小时(00到24) |
| 7) | %M | 分钟(00到25) |
| 8) | %S | 秒(00到59) |
| 9) | %s | 自1970年1月1日以来的第二次 |
| 10) | %f | 分数秒(SS.SSS) |
| 11) | %j | 一年中的某天(001至366) |
| 12) | %J | 朱利安日作为数值 |
在这里, timestring 是一个日期值,可以是以下任意一个:
| 索引 | timestring | 说明 |
|---|---|---|
| 1) | no | 它是用于返回当前日期的文字。 |
| 2) | YYYY-MM-DD | 它指定日期格式为'YYYY-MM-DD' |
| 3) | YYYY-MM-DD HH:MM | 它指定日期格式为'YYYY-MM-DD HH:MM' |
| 4) | YYYY-MM-DD HH:MM:SS | 它指定日期格式为'YYYY-MM-DD HH:MM:SS' |
| 5) | YYYY-MM-DD HH:MM:SS.SSS | 它指定日期格式为'YYYY-MM-DD HH:MM:SS.SSS' |
| 6) | HH:MM | 它指定日期格式为'HH:MM' |
| 7) | HH:MM:SS | 它指定日期格式为'HH:MM:SS' |
| 8) | HH:MM:SS.SSS | 它指定日期格式为'HH:MM:SS.SSS' |
| 9) | YYYY-MM-DDTHH:MM | 它指定日期格式为'YYYY-MM-DDTHH:MM'的日期值,其中t是分隔日期和时间部分的文字字符。 |
| 10) | YYYY-MM-DDTHH:MM:SS | 它指定日期格式为'YYYY-MM-DDTHH:MM:SS'的日期值,其中t是分隔日期和时间部分的文字字符 |
| 11) | YYYY-MM-DDTHH:MM:SS.SSS | 它指定格式为'YYYY-MM-DDTHH:MM:SS.SSS'的日期值,其中t是分隔日期和时间部分的文字字符 |
| 12) | DDDDDDDDDD | 它指定儒略日期号 |
modifier1,modifier2,...,modifier_n:修饰符是可选的。这些与时间字符串一起使用以增加或减少时间,日期或年份。
| 索引 | 修饰符 | 说明 |
|---|---|---|
| 1) | [+-] NNN years | 用于指定添加/减去该日期的年数 |
| 2) | [+-] NNN months | 用于指定添加/减去该日期的月份数 |
| 3) | [+-] NNN days | 用于指定添加/减去日期的天数 |
| 4) | [+-] NNN hours | 用于指定添加/减去日期的小时数 |
| 5) | [+-] NNN minutes | 用于指定添加/减去日期的分钟数 |
| 6) | [+-] NNN seconds | 用于指定添加/减去日期的秒数 |
| 7) | [+-] NNN.NNNN seconds | 用于指定添加/减去日期的秒数(和小数秒) |
| 8) | start of year | 用于将日期移回至年初 |
| 9) | start of month | 用于将日期移回到月初 |
| 10) | start of day | 用于将日期移回一天的开始 |
| 11) | weekday N | 用于将日期向前移动到工作日编号为N的下一个日期 (0 =星期日,1 =星期一,2 =星期二,3 =星期三,4 =星期四,5 =星期五,6 =星期六) |
| 12) | unixepoch | 它与DDDDDDDDDD时间字符串一起使用,以将日期解释为UNIX时间(即:sin的秒数)ce 1970-01-01) |
| 13) | localtime | 用于将日期调整为本地时间,假设时间字符串以UTC表示 |
| 14) | utc | 假设时间字符串以当地时间表示,则用于将日期调整为utc |
示例1:检索当前日期:
SELECT strftime('%Y %m %d', 'now');
SELECT strftime('%Y-%m-%d %H:%M', 'now');
输出:


示例2:检索每月的第一天:
SELECT strftime('%Y-%m-%d', '2017-04-14', 'start of month');
SELECT strftime('%Y-%m-%d', 'now', 'start of month');
SELECT strftime('%Y-%m-%d', '2017-03-07', '-6 days');
SELECT strftime('%Y-%m-%d', 'now', '-13 days');
输出:




示例2:检索每月的最后一天:
SELECT strftime('%Y-%m-%d', '2017-03-07', 'start of month', '+1 month', '-1 day');
SELECT strftime('%Y-%m-%d', 'now', 'start of month', '+1 month', '-1 day');
SELECT strftime('%Y-%m-%d', '2017-03-07', '+24 days');
SELECT strftime('%Y-%m-%d', 'now', '+24 days');
输出:




示例3:添加/减去年份和日间:
SELECT strftime('%Y-%m-%d', '2017-04-14', '+2 years');
SELECT strftime('%Y-%m-%d', 'now', '-2 years');
SELECT strftime('%Y-%m-%d', '2017-04-14', '+7 days');
SELECT strftime('%Y-%m-%d', 'now', '-10 days');
输出:



祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)
Spring Boot与Kubernetes云原生微服务实践 -〔杨波〕