SQLite now函式和時間格式化


SQLite 「now」實際上並不是一個函式,但是「now」是一個時間字串引數,用於各種SQLite函式來獲取當前的日期和時間。

語法:

SQLite中now函式有三種型別的語法:

date('now')

或者 -

time('now')

或者 -

strftime(format, 'now')  
-- 其它用法
strftime('%Y-%m-%d','now')  
strftime('%Y-%m-%d %H-%M','now')  
strftime('%Y-%m-%d %H-%M-%S','now')

使用strftime()函式表達當前日期/時間時,是使用第三種語法。 這裡的「format」可以是以下任何一個:

編號 索引 解釋/描述
1 %Y 4位數表示年份(0000至9999)
2 %W 表示一年之中的第幾週(00至53)
3 %w 星期幾(06,其中0表示星期日)
4 %m 表示一年之中的第幾月(01至12)
5 %d 表示一個月之中的第幾天(00至31)
6 %H 小時 (00 至 24)
7 %M 分鐘 (00 至 60)
8 %S 秒(00至59)
9 %s 1970-01-01以來的秒數
10 %f 小數秒(SS.SSS)
11 %j 一年之中的第幾天(001 至 366)
12 %J 儒略日的數位值

範例-1:

檢索當前日期:

SELECT date('now');  
SELECT strftime('%Y-%m-%d','now');

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

sqlite> SELECT date('now');
2017-05-24
sqlite> SELECT strftime('%Y-%m-%d','now');
2017-05-24
sqlite>

範例-2:

檢索當前時間:

SELECT strftime('%Y-%m-%d %H:%M:%S','now');
SELECT time('now'); -- (HH-MM-SS Format)  
SELECT strftime('%H-%M-%S','now'); --  (HH-MM-SS Format)   
SELECT strftime('%H-%M-%f','now'); -- (HH-MM-SS.SSS Format)   
SELECT strftime('%H-%M','now');  --(HH-MM Format)

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

sqlite> SELECT strftime('%Y-%m-%d %H:%M:%S','now');
2017-05-24 14:53:55
sqlite> SELECT time('now'); -- (HH-MM-SS Format)
14:53:55
sqlite> SELECT strftime('%H-%M-%S','now'); --  (HH-MM-SS Format)
14-53-55
sqlite> SELECT strftime('%H-%M-%f','now'); -- (HH-MM-SS.SSS Format)
14-53-55.214
sqlite> SELECT strftime('%H-%M','now');  --(HH-MM Format)
14-53
sqlite>