SQLite - strftime()函数

SQLite - strftime()函数 首页 / SQLite入门教程 / SQLite - strftime()函数

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');

输出:

SQLite Strftime function 1SQLite Strftime function 2

示例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');

输出:

SQLite Strftime function 3SQLite Strftime function 4SQLite Strftime function 5SQLite Strftime function 6

示例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');

输出:

SQLite Strftime function 7SQLite Strftime function 8SQLite Strftime function 9SQLite Strftime function 10

示例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'); 

输出:

SQLite Strftime function 11SQLite Strftime function 12SQLite Strftime function 13SQLite Strftime function 14

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

深入浅出gRPC -〔李林锋〕

技术领导力实战笔记 -〔TGO鲲鹏会〕

技术管理实战36讲 -〔刘建国〕

代码精进之路 -〔范学雷〕

架构实战案例解析 -〔王庆友〕

SRE实战手册 -〔赵成〕

Serverless入门课 -〔蒲松洋(秦粤)〕

讲好故事 -〔涵柏〕

互联网人的数字化企业生存指南 -〔沈欣〕

好记忆不如烂笔头。留下您的足迹吧 :)