SQLite date()
函數(shù)用于檢索日期并以“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 |
指定儒略日的日期數(shù) |
編號 | 修辭符 | 描述 |
---|---|---|
1 | [+-]NNN years |
用于指定添加/減去日期的年數(shù) |
2 | [+-]NNN months |
用于指定添加/減去日期的月數(shù) |
3 | [+-]NNN days |
用于指定添加/減去日期的天數(shù) |
4 | [+-]NNN hours |
用于指定添加/減去日期的小時數(shù) |
5 | [+-]NNN minutes |
用于指定添加/減去日期的分鐘數(shù) |
6 | [+-]NNN seconds |
用于指定添加/減去日期的秒數(shù) |
7 | [+-]NNN.NNNN seconds |
用于指定添加/減去日期的秒數(shù)(和小數(shù)秒) |
8 | start of year |
用于將日期重新轉(zhuǎn)移到年初 |
9 | start of month |
用于將日期重新轉(zhuǎn)移到月初 |
10 | start of day |
用于將日期重新移動到一天的開始 |
11 | weekday N |
用于將日期向前移動到工作日數(shù)為N 的下一個日期(0=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday) |
12 | unixepoch |
它與DDDDDDDDDD 時間字符串一起用于將日期解釋為UNIX時間(即:自1970-01-01 以來的秒數(shù)) |
13 | localtime |
用于將日期調(diào)整為本地時間,假設時間戳以UTC 表示 |
14 | utc |
它用于將日期調(diào)整為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');
執(zhí)行上面查詢,得到以下結(jié)果 -
示例3:
檢索本月的最后一天,date()
函數(shù)可用于檢索月份的最后一天。有四種方法可以獲取一個月的最后一天:
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');
執(zhí)行上面查詢,得到以下結(jié)果 -
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
個年數(shù):
SELECT date('now','+5 years');
SELECT date('2018-06-13','+5 years');
SELECT date('now','-5 years');
SELECT date('2018-06-13','-5 years');
執(zhí)行上面查詢,得到以下結(jié)果 -
示例5:
將天數(shù)添加到當前日期,通過上述方式,可以在當前日期上添加和減去天數(shù),有以下幾種方法可以實現(xiàn):
SELECT date('now','+5 days');
SELECT date('2018-05-13','+5 days');
SELECT date('now','-5 days');
SELECT date('2018-06-13','-5 days');
執(zhí)行上面查詢,得到以下結(jié)果 -