个性化阅读
专注于IT技术分析

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-01-01
10)%f分数秒(SS.SSS)
11)%j一年中的天(001〜366)
12)%J儒略日的数字值

在这里,TIMESTRING是一个日期值,它可以是以下中的任何一个:

指数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它指定Julian日期数

modifier1,modifier2,… modifier_n:修饰符是可选的。这些都是用来与TIMESTRING添加或减去时间,日期或数年。

指数修改描述
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 TIMESTRING解释日期作为UNIX时间(即:自1970-01-01秒数)
13) localtime 它是用来调整日期本地时间,假设在TIMESTRING UTC表达
14) utc 它是用来调整日期UTC,假设在TIMESTRING本地时间表达

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

输出:


赞(0)
未经允许不得转载:srcmini » SQLite的strftime函数

评论 抢沙发

评论前必须登录!