SQLite 日期 時間

2022-03-31 11:18:35 字數 2688 閱讀 1550

sqlite 支援以下五個日期和時間函式:

序號函式例項1

date(timestring, modifiers...)

以 yyyy-mm-dd 格式返回日期。

2time(timestring, modifiers...)

以 hh:mm:ss 格式返回時間。

3datetime(timestring, modifiers...)

以 yyyy-mm-dd hh:mm:ss 格式返回。

4julianday(timestring, modifiers...)

這將返回從格林尼治時間的西元前 4714 年 11 月 24 日正午算起的天數。

5strftime(timestring, modifiers...)

這將根據第乙個引數指定的格式字串返回格式化的日期。具體格式見下邊講解。

上述五個日期和時間函式把時間字串作為引數。時間字串後跟零個或多個 modifiers 修飾符。strftime() 函式也可以把格式字串作為其第乙個引數。下面將為您詳細講解不同型別的時間字串和修飾符。

乙個時間字串可以採用下面任何一種格式:

序號時間字串例項1

yyyy-mm-dd

2010-12-30

2yyyy-mm-dd hh:mm

2010-12-30 12:10

3yyyy-mm-dd hh:mm:ss.sss

2010-12-30 12:10:04.100

4mm-dd-yyyy hh:mm

30-12-2010 12:10

5hh:mm

12:10

6yyyy-mm-ddthh:mm

2010-12-30 12:10

7hh:mm:ss

12:10:01

8yyyymmdd hhmmss

20101230 121001

9now

2013-05-07

您可以使用 "t" 作為分隔日期和時間的文字字元。

時間字串後邊可跟著零個或多個的修飾符,這將改變有上述五個函式返回的日期和/或時間。任何上述五大功能返回時間。修飾符應從左到右使用,下面列出了可在 sqlite 中使用的修飾符:

替換描述

%d一月中的第幾天,01-31

%f帶小數部分的秒,ss.sss

%h小時,00-23

%j一年中的第幾天,001-366

%j儒略日數,dddd.dddd

%m月,00-12

%m分,00-59

%s從 1970-01-01 算起的秒數

%s秒,00-59

%w一周中的第幾天,0-6 (0 is sunday)

%w一年中的第幾周,01-53

%y年,yyyy

%%% symbol

現在讓我們使用 sqlite 提示符嘗試不同的例項。下面是計算當前日期:

sqlite> select date('now');

2013-05-07

下面是計算當前月份的最後一天:

sqlite> select date('now','start of month','+1 month','-1 day');

2013-05-31

sqlite> select datetime(1092941466, 'unixepoch');

2004-08-19 18:51:06

sqlite> select datetime(1092941466, 'unixepoch', 'localtime');

2004-08-19 11:51:06

下面是計算當前的 unix 時間戳:

sqlite> select datetime(1092941466, 'unixepoch', 'localtime');

1367926057

下面是計算美國"獨立宣言"簽署以來的天數:

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

86504.4775830326

下面是計算從 2004 年某一特定時刻以來的秒數:

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

295001572

下面是計算當年 10 月的第乙個星期二的日期:

sqlite> select date('now','start of year','+9 months','weekday 2');

2013-10-01

下面是計算從 unix 紀元算起的以秒為單位的時間(類似 strftime('%s','now') ,不同的是這裡有包括小數部分):

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

1367926077.12598

在 utc 與本地時間值之間進行轉換,當格式化日期時,使用 utc 或 localtime 修飾符,如下所示:

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

05:00:00

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

19:00:00

SQLite 日期 時間

具體看 不過例項介紹的不夠詳細,以下詳細舉例 例2.select datetime 2006 10 17 結果 2006 10 17 12 00 00 例3.select datetime 2006 10 17 00 20 00 1 hour 12 minute 結果 2006 10 17 01 0...

sqlite日期時間函式

sqlite支援以下五個日期和時間函式 函式 描述date timestring,modifier,modifier,以 yyyy mm dd 格式返回日期,如 2020 07 26 time timestring,modifier,modifier,以 hh mm ss 格式返回時間,如 21 0...

SQLite的日期時間函式

1.date 日期時間字串,修正符,修正符,2.time 日期時間字串,修正符,修正符,3.datetime 日期時間字串,修正符,修正符,4.julianday 日期時間字串,修正符,修正符,5.strftime 日期時間格式,日期時間字串,修正符,修正符,上述五個函式需要乙個日期時間字串做引數,...