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