SQLite julianday()
函数应用修饰符,然后将日期作为输入日期后的儒略日(Julian day,JD)返回。
儒略日(Julian day,JD)是指由公元前4713年1月1日,协调世界时中午12时开始所经过的天数,多为天文学家采用,用以作为天文学的单一历法,把不同历法的年表统一起来。如果计算相隔若干年的两个日期之间间隔的天数,利用儒略日就比较方便。
语法:
julianday(timestring [, modifier1, modifier2, ... modifier_n ] )
示例1:
检索当前日期:
SELECT julianday('2017-09-13');
SELECT julianday('2017-09-13 16:45');
SELECT julianday('2017-09-13 16:45:30');
SELECT julianday('now');
执行上面代码,得到以下结果 –
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');
执行上面查询语句,得到以下结果 –
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');
执行上面代码,得到以下结果 –
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:
在当前日期上添加/减去年数和天数:
SELECT julianday('2017-09-14', '+2 years');
SELECT julianday('now', '+5 years');
SELECT julianday('now', '-7 days');
执行上面代码,得到以下结果 –
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>