1. 時間串轉時間戳,函數strftime,其參數1是固定'%s',參數2是待轉換的時間串,參數3...是修飾符
(1)select strftime('%s','2004-01-01 02:34:56')
時間串是格林威治時間,返回其Unix時間戳。
備注:簡單說,這條語句獲取格林威治時間串的時間戳。
(2)select strftime('%s','2004-01-01 02:34:56','localtime')
'localtime'指示時間串是格林威治時間,函數會自動將其換算為本地時間串,也即參數2實際上變成了'2004-01-01 10:34:56',
時間串內容仍舊被作為格林威治時間,返回其Unix時間戳。
(3)select strftime('%s','2004-01-01 02:34:56','utc')
'utc'指示時間串是本地時間,函數會自動將其換算為格林威治時間串,也即時間串實際上變成了'2003-12-31 18:34:56',
時間串內容仍舊被作為格林威治時間,返回其Unix時間戳。
備注:簡單說,這條語句獲取本地時間串的時間戳。
(4)參數2可以是字段名。
2. 時間戳轉時間串
(1)select datetime(1072895696)
此用法非法,不能這么用。
(2)select datetime(1072895696, 'unixepoch')
返回1072895696時間戳所對應的格林威治時間串。其中'unixepoch'指示參數1是一個unix時間戳整數格式。
備注:簡單說,這條語句獲取時間戳對應的格林威治時間串。
(3)select datetime(1072895696, 'unixepoch', 'localtime')
首先按照(2)所述得到1072895696時間戳所對應的格林威治時間串,'localtime'指示函數會自動將其換算為本地時間串。
備注:簡單說,這條語句獲取時間戳對應的本地時間串。
3. 獲取當前時間串
(1)select datetime('now')
‘now'取到的格林威治時間串,返回當前時間的格林威治時間串。
(2)select datetime('now', 'localtime')
‘now'取到的格林威治時間戳串,'localtime'指示函數會自動將其換算為本地時間串。
備注:簡單說,這條語句獲取當前本地時間串。
4. 時間加減
(1) select datetime('now', 'localtime', '-7 day')
7天前的本地時間串。