SQLite date()
函数用于检索日期并以“YYYY-MM-DD
”格式返回。
语法
date(timestring, [ modifier1, modifier2, ... modifier_n ] )
这里,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 |
指定儒略日的日期数 |
编号 | 修辞符 | 描述 |
---|---|---|
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=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday) |
12 | unixepoch |
它与DDDDDDDDDD 时间字符串一起用于将日期解释为UNIX时间(即:自1970-01-01 以来的秒数) |
13 | localtime |
用于将日期调整为本地时间,假设时间戳以UTC 表示 |
14 | utc |
它用于将日期调整为utc ,假设时间戳以本地时间表达 |
示例1:
获取当前日期:
sqlite> SELECT date('now'); 2017-05-23 sqlite>
示例2:
检索本月的第一天,有四种方法可以查询一个月的第一天:
SELECT date('2017-12-17', 'start of month'); SELECT date('now', 'start of month'); SELECT date('2019-10-16', '-15 days'); SELECT date('now', '-23 days');
执行上面查询,得到以下结果 -
示例3:
检索本月的最后一天,date()
函数可用于检索月份的最后一天。有四种方法可以获取一个月的最后一天:
SELECT date('2019-04-13', 'start of month','+1 month', '-1 day'); SELECT date('now', 'start of month','+1 month', '-1 day'); SELECT date('2018-04-13', '+17 days'); SELECT date('now', '+8 days');
执行上面查询,得到以下结果 -
sqlite> SELECT date('2019-04-13', 'start of month','+1 month', '-1 day'); 2019-04-30 sqlite> sqlite> SELECT date('now', 'start of month','+1 month', '-1 day'); 2017-05-31 sqlite> sqlite> SELECT date('2018-04-13', '+17 days'); 2018-04-30 sqlite> sqlite> SELECT date('now', '+8 days'); 2017-05-31 sqlite>
示例4:
在当前日期上添加/减去年份,在当前日期加上/减去5
个年数:
SELECT date('now','+5 years'); SELECT date('2018-06-13','+5 years'); SELECT date('now','-5 years'); SELECT date('2018-06-13','-5 years');
执行上面查询,得到以下结果 -
示例5:
将天数添加到当前日期,通过上述方式,可以在当前日期上添加和减去天数,有以下几种方法可以实现:
SELECT date('now','+5 days'); SELECT date('2018-05-13','+5 days'); SELECT date('now','-5 days'); SELECT date('2018-06-13','-5 days');
执行上面查询,得到以下结果 -