SQlite 日期時間總結


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天前的本地時間串。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM