SQLite julianday()函數(shù)應(yīng)用修飾符,然后將日期作為輸入日期后的儒略日(Julian day,JD)返回。
儒略日(Julian day,JD)是指由公元前4713年1月1日,協(xié)調(diào)世界時(shí)中午12時(shí)開始所經(jīng)過的天數(shù),多為天文學(xué)家采用,用以作為天文學(xué)的單一歷法,把不同歷法的年表統(tǒng)一起來。如果計(jì)算相隔若干年的兩個(gè)日期之間間隔的天數(shù),利用儒略日就比較方便。
語法:
julianday(timestring [, modifier1, modifier2, ... modifier_n ] )
示例1:
檢索當(dāng)前日期:
SELECT julianday('2017-09-13');
SELECT julianday('2017-09-13 16:45');
SELECT julianday('2017-09-13 16:45:30');
SELECT julianday('now');
執(zhí)行上面代碼,得到以下結(jié)果 -
sqlite> SELECT julianday('2017-09-13');
2458009.5
sqlite> SELECT julianday('2017-09-13 16:45');
2458010.19791667
sqlite> SELECT julianday('2017-09-13 16:45:30');
2458010.19826389
sqlite> SELECT julianday('now');
2457898.09934488
sqlite>
示例2:
檢索本月的第一天:
SELECT julianday('2017-07-13', 'start of month');
SELECT julianday('now', 'start of month');
SELECT julianday('2017-08-15', '-6 days');
SELECT julianday('now', '-6 days');
執(zhí)行上面查詢語句,得到以下結(jié)果 -
sqlite> SELECT julianday('2017-07-13', 'start of month');
2457935.5
sqlite> SELECT julianday('now', 'start of month');
2457874.5
sqlite> SELECT julianday('2017-08-15', '-6 days');
2457974.5
sqlite> SELECT julianday('now', '-6 days');
2457892.10142766
sqlite>
示例3:
檢索本月的最后一天:
SELECT julianday('2017-09-07', 'start of month', '+1 month', '-1 day');
SELECT julianday('now', 'start of month', '+1 month', '-1 day');
SELECT julianday('2017-09-07', '+24 days');
SELECT julianday('now', '+24 days');
執(zhí)行上面代碼,得到以下結(jié)果 -
sqlite> SELECT julianday('2017-09-07', 'start of month', '+1 month', '-1 day');
2458026.5
sqlite> SELECT julianday('now', 'start of month', '+1 month', '-1 day');
2457904.5
sqlite> SELECT julianday('2017-09-07', '+24 days');
2458027.5
sqlite> SELECT julianday('now', '+24 days');
2457922.10232523
sqlite>
示例4:
在當(dāng)前日期上添加/減去年數(shù)和天數(shù):
SELECT julianday('2017-09-14', '+2 years');
SELECT julianday('now', '+5 years');
SELECT julianday('now', '-7 days');
執(zhí)行上面代碼,得到以下結(jié)果 -
sqlite> SELECT julianday('2017-09-14', '+2 years');
2458740.5
sqlite> SELECT julianday('now', '+5 years');
2459724.10358212
sqlite> SELECT julianday('now', '-7 days');
2457891.10358736
sqlite>