在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數(shù)據(jù)庫(kù)/ SQLite 日期 & 時(shí)間
SQLite Having 子句
SQLite 運(yùn)算符
SQLite 注入
SQLite Delete 語(yǔ)句
SQLite – Python
SQLite 數(shù)據(jù)類(lèi)型
SQLite 簡(jiǎn)介
SQLite 創(chuàng)建數(shù)據(jù)庫(kù)
SQLite Vacuum
SQLite Group By
SQLite 日期 & 時(shí)間
SQLite AND/OR 運(yùn)算符
SQLite 刪除表
SQLite Distinct
SQLite Alter 命令
SQLite PRAGMA
SQLite 約束
SQLite 創(chuàng)建表
SQLite Like 子句
SQLite Limit 子句
SQLite Autoincrement
SQLite 子查詢(xún)
SQLite – C/C++
SQLite – PHP
SQLite 命令
SQLite Order By
SQLite Select 語(yǔ)句
SQLite Unions 子句
SQLite – Perl
SQLite – Java
SQLite 別名
SQLite 常用函數(shù)
SQLite Explain(解釋?zhuān)?/span>
SQLite NULL 值
SQLite Glob 子句
SQLite 表達(dá)式
SQLite 視圖
SQLite Where 子句
SQLite Truncate Table
SQLite 索引
SQLite Insert 語(yǔ)句
SQLite 安裝
SQLite Indexed By
SQLite 分離數(shù)據(jù)庫(kù)
SQLite 觸發(fā)器
SQLite 語(yǔ)法
SQLite Joins
SQLite Update 語(yǔ)句
SQLite 附加數(shù)據(jù)庫(kù)
SQLite 事務(wù)

SQLite 日期 & 時(shí)間

SQLite 支持以下五個(gè)日期和時(shí)間函數(shù):

序號(hào) 函數(shù) 實(shí)例
1 date(timestring, modifiers...) 以 YYYY-MM-DD 格式返回日期。
2 time(timestring, modifiers...) 以 HH:MM:SS 格式返回時(shí)間。
3 datetime(timestring, modifiers...) 以 YYYY-MM-DD HH:MM:SS 格式返回。
4 julianday(timestring, modifiers...) 這將返回從格林尼治時(shí)間的公元前 4714 年 11 月 24 日正午算起的天數(shù)。
5 strftime(timestring, modifiers...) 這將根據(jù)第一個(gè)參數(shù)指定的格式字符串返回格式化的日期。具體格式見(jiàn)下邊講解。

上述五個(gè)日期和時(shí)間函數(shù)把時(shí)間字符串作為參數(shù)。時(shí)間字符串后跟零個(gè)或多個(gè) modifiers 修飾符。strftime() 函數(shù)也可以把格式字符串作為其第一個(gè)參數(shù)。下面將為您詳細(xì)講解不同類(lèi)型的時(shí)間字符串和修飾符。

時(shí)間字符串

一個(gè)時(shí)間字符串可以采用下面任何一種格式:

序號(hào) 時(shí)間字符串 實(shí)例
1 YYYY-MM-DD 2010-12-30
2 YYYY-MM-DD HH:MM 2010-12-30 12:10
3 YYYY-MM-DD HH:MM:SS.SSS 2010-12-30 12:10:04.100
4 MM-DD-YYYY HH:MM 30-12-2010 12:10
5 HH:MM 12:10
6 YYYY-MM-DD**T**HH:MM 2010-12-30 12:10
7 HH:MM:SS 12:10:01
8 YYYYMMDD HHMMSS 20101230 121001
9 now 2013-05-07

您可以使用 "T" 作為分隔日期和時(shí)間的文字字符。

修飾符(Modifiers)

時(shí)間字符串后邊可跟著零個(gè)或多個(gè)的修飾符,這將改變有上述五個(gè)函數(shù)返回的日期和/或時(shí)間。任何上述五大功能返回時(shí)間。修飾符應(yīng)從左到右使用,下面列出了可在 SQLite 中使用的修飾符:

  • NNN days

  • NNN hours

  • NNN minutes

  • NNN.NNNN seconds

  • NNN months

  • NNN years

  • start of month

  • start of year

  • start of day

  • weekday N

  • unixepoch

  • localtime

  • utc

格式化

SQLite 提供了非常方便的函數(shù) strftime() 來(lái)格式化任何日期和時(shí)間。您可以使用以下的替換來(lái)格式化日期和時(shí)間:

替換 描述
%d 一月中的第幾天,01-31
%f 帶小數(shù)部分的秒,SS.SSS
%H 小時(shí),00-23
%j 一年中的第幾天,001-366
%J 儒略日數(shù),DDDD.DDDD
%m 月,00-12
%M 分,00-59
%s 從 1970-01-01 算起的秒數(shù)
%S 秒,00-59
%w 一周中的第幾天,0-6 (0 is Sunday)
%W 一年中的第幾周,01-53
%Y 年,YYYY
%% % symbol

實(shí)例

現(xiàn)在讓我們使用 SQLite 提示符嘗試不同的實(shí)例。下面是計(jì)算當(dāng)前日期:

    sqlite> SELECT date('now');
    2013-05-07

下面是計(jì)算當(dāng)前月份的最后一天:

    sqlite> SELECT date('now','start of month','+1 month','-1 day');
    2013-05-31

下面是計(jì)算給定 UNIX 時(shí)間戳 1092941466 的日期和時(shí)間:

    sqlite> SELECT datetime(1092941466, 'unixepoch');
    2004-08-19 18:51:06

下面是計(jì)算給定 UNIX 時(shí)間戳 1092941466 相對(duì)本地時(shí)區(qū)的日期和時(shí)間:

    sqlite> SELECT datetime(1092941466, 'unixepoch', 'localtime');
    2004-08-19 11:51:06

下面是計(jì)算當(dāng)前的 UNIX 時(shí)間戳:

    sqlite> SELECT datetime(1092941466, 'unixepoch', 'localtime');
    1367926057

下面是計(jì)算美國(guó)"獨(dú)立宣言"簽署以來(lái)的天數(shù):

    sqlite> SELECT julianday('now') - julianday('1776-07-04');
    86504.4775830326

下面是計(jì)算從 2004 年某一特定時(shí)刻以來(lái)的秒數(shù):

    sqlite> SELECT strftime('%s','now') - strftime('%s','2004-01-01 02:34:56');
    295001572

下面是計(jì)算當(dāng)年 10 月的第一個(gè)星期二的日期:

    sqlite> SELECT date('now','start of year','+9 months','weekday 2');
    2013-10-01

下面是計(jì)算從 UNIX 紀(jì)元算起的以秒為單位的時(shí)間(類(lèi)似 strftime('%s','now') ,不同的是這里有包括小數(shù)部分):

    sqlite> SELECT (julianday('now') - 2440587.5)*86400.0;
    1367926077.12598

在 UTC 與本地時(shí)間值之間進(jìn)行轉(zhuǎn)換,當(dāng)格式化日期時(shí),使用 utc 或 localtime 修飾符,如下所示:

    sqlite> SELECT time('12:00', 'localtime');
    05:00:00

    sqlite>  SELECT time('12:00', 'utc');
    19:00:00