SQLite time()函式


SQLite time()函式用於計算「HH-MM-SS」格式的時間並返回時間。

語法:

time(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:

檢索當前時間值:

SELECT time('now');

執行上面語句,得到以下結果 -

sqlite> SELECT time('now');
19:14:05
sqlite>

範例2:

在當前時間上新增/減去小時數和分鐘數:

SELECT time('now');
SELECT time('11:23:02','-2 hours');  
SELECT time('now','+5 hours');  
SELECT time('11:15:02','+15 minutes');  
SELECT time('now','-30 minutes');

執行上面程式碼,得到以下結果 -

sqlite> SELECT time('now');
15:15:33
sqlite> SELECT time('11:23:02','-2 hours');
09:23:02
sqlite> SELECT time('now','+5 hours');
20:15:33
sqlite> SELECT time('11:15:02','+15 minutes');
11:30:02
sqlite> SELECT time('now','-30 minutes');
14:45:34
sqlite>