SQLite date()函數
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
指定儒略日的日期數
- modifier1, modifier2, … modifier_n: 這些修飾符是可選的。這些字符與時間字符串一起使用來添加或減少時間,日期或年份。
編號
修辭符
描述
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');
執行上面查詢,得到以下結果 -