SQLite strftime函数

SQLite strftime函数

SQLite strftime函数是一个非常强大的函数,它可以帮助您获取日期和时间,并且还可以进行日期计算。

语法:

strftime(format, timestring [, modifier1, modifier2, ... modifier_n ] ) 

这里, format 可以是以下任何一种:

索引 格式 解释
1 %Y 四位数年份 (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-01-01 以来的秒数
10 %f 小数秒 (SS.SSS)
11 %j 一年中的第几天 (001 到 366)
12 %J 日期的儒略日数值

这里, timestring 是一个日期值,可以是以下任何一个:

索引 时间字符串 描述
1 now 用于返回当前日期的文字表达。
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: 修饰词是可选的。它们与timestring一起用于添加或减去时间、日期或年份。

索引 modifier 描述
1 [+-]NNN年 用于指定要添加/减去的年数
2 [+-]NNN月 用于指定要添加/减去的月数
3 [+-]NNN天 用于指定要添加/减去的天数
4 [+-]NNN小时 用于指定要添加/减去的小时数
5 [+-]NNN分钟 用于指定要添加/减去的分钟数
6 [+-]NNN 秒 用于指定添加/减去的秒数到日期
7 [+-]NNN.NNNN 秒 用于指定添加/减去的秒数(和小数秒)到日期
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时间(即从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函数

例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函数

示例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函数

示例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函数

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程