国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

SQLite3中的日期時(shí)間函數(shù)使用小結(jié)

瀏覽:266日期:2023-04-05 14:56:08


復(fù)制代碼 代碼如下:
import sqlite3
conn = sqlite3.connect("/tmp/sqlite.db")
cur = conn.cursor()
接下來(lái)干嘛呢?建一張表吧。這里需要注意的是,SQLite不支持在創(chuàng)建表的同時(shí)創(chuàng)建索引,所以要分兩步走,先創(chuàng)建表然后再創(chuàng)建索引
復(fù)制代碼 代碼如下:create_table_stmt = """CREATE TABLE IF NOT EXISTS test_table (
 id INTEGER PRIMARY KEY AUTOINCREMENT,
 duration INTEGER,
 event_date TEXT,
 parameter TEXT );"""

create_index = "CREATE INDEX IF NOT EXISTS idx_id ON test_table (id);"
cur.execute(create_table_stmt)
cur.execute(create_index)
conn.commit()

然后往里面插一點(diǎn)數(shù)據(jù)吧,SQLite只支持5種基本的數(shù)據(jù)類型
復(fù)制代碼 代碼如下:
NULL. The value is a NULL value    
INTEGER. The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value
REAL. The value is a floating point value, stored as an 8-byte IEEE floating point number
TEXT. The value is a text string, stored using the database encoding (UTF-8, UTF-16BE or UTF-16LE)
BLOB. The value is a blob of data, stored exactly as it was input

問(wèn)題來(lái)了,SQLite的時(shí)間和日期類型在哪里?原來(lái)SQLite可以把時(shí)間日期保存在一下幾種數(shù)據(jù)類型里面
復(fù)制代碼 代碼如下:
TEXT as ISO8601 strings ("YYYY-MM-DD HH:MM:SS.SSS").
REAL as Julian day numbers, the number of days since noon in Greenwich on November 24, 4714 B.C. according to the proleptic Gregorian calendar.
INTEGER as Unix Time, the number of seconds since 1970-01-01 00:00:00 UTC.

insert_stmt = "insert into test_table values (?, ?, ?)"
record = (123, "2011-11-30 12:34:56", "hello world")
cur.execute( insert_stmt, record )
conn.commit()
把日期保存為字符串以后,不能直接拿出來(lái)直接當(dāng)日期用,在用之前要調(diào)用SQLite的date函數(shù)
例如找前一天存進(jìn)去的數(shù)據(jù):
復(fù)制代碼 代碼如下:
SELECT
 id,
 duration,
 event_date,
 parameter
 FROM test_table
WHERE
 DATE(event_date) = DATE("now", "-1 day", "localtime")
ORDER BY id, event_date

查看表結(jié)構(gòu) select * from sqlite_master
查看表信息 PRAGMA table_info (table_name)

SQLite中的時(shí)間日期函數(shù)

SQLite包含了如下時(shí)間/日期函數(shù):復(fù)制代碼 代碼如下:
datetime() .......................  產(chǎn)生日期和時(shí)間
date()  ........................... 產(chǎn)生日期
time()  ........................... 產(chǎn)生時(shí)間
strftime() .......................  對(duì)以上三個(gè)函數(shù)產(chǎn)生的日期和時(shí)間進(jìn)行格式化

datetime()的用法是:datetime(日期/時(shí)間,修正符,修正符...)
date()和time()的語(yǔ)法與datetime()相同。

在時(shí)間/日期函數(shù)里可以使用如下格式的字符串作為參數(shù):
復(fù)制代碼 代碼如下:YYYY-MM-DD
YYYY-MM-DD HH:MM
YYYY-MM-DD HH:MM:SS
HH:MM
HH:MM:SS
now                                 # 其中now是產(chǎn)生現(xiàn)在的時(shí)間。

舉例(寫這個(gè)筆記的時(shí)間是2006年10月17日晚8點(diǎn)到10點(diǎn),北京時(shí)間):
復(fù)制代碼 代碼如下:
select datetime("now");
結(jié)果:2006-10-17 12:55:54

select datetime("2006-10-17");
結(jié)果:2006-10-17 12:00:00

select datetime("2006-10-17 00:20:00", "+1 hour", "-12 minute");
結(jié)果:2006-10-17 01:08:00

select date("2006-10-17", "+1 day", "+1 year");
結(jié)果:2007-10-18

select datetime("now", "start of year");
結(jié)果:2006-01-01 00:00:00

select datetime("now", "start of month");
結(jié)果:2006-10-01 00:00:00

select datetime("now", "start of day");
結(jié)果:2006-10-17 00:00:00

# 盡管第2個(gè)參數(shù)加上了10個(gè)小時(shí),但是卻被第3個(gè)參數(shù) start of day 把時(shí)間歸零到00:00:00
# 隨后的第4個(gè)參數(shù)在00:00:00的基礎(chǔ)上把時(shí)間增加了10個(gè)小時(shí)變成了10:00:00。
select datetime("now", "+10 hour", "start of day", "+10 hour");
結(jié)果:2006-10-17 10:00:00

# 把格林威治時(shí)區(qū)轉(zhuǎn)換成本地時(shí)區(qū)。
select datetime("now", "localtime");
結(jié)果:2006-10-17 21:21:47

select datetime("now", "+8 hour");
結(jié)果:2006-10-17 21:24:45

strftime() 函數(shù)可以把YYYY-MM-DD HH:MM:SS格式的日期字符串轉(zhuǎn)換成其它形式的字符串。
strftime() 的語(yǔ)法是strftime(格式, 日期/時(shí)間, 修正符, 修正符, ...)

它可以用以下的符號(hào)對(duì)日期和時(shí)間進(jìn)行格式化:
%d 月份, 01-31
%f 小數(shù)形式的秒,SS.SSS
%H 小時(shí), 00-23
%j 算出某一天是該年的第幾天,001-366
%m 月份,00-12
%M 分鐘, 00-59
%s 從1970年1月1日到現(xiàn)在的秒數(shù)
%S 秒, 00-59
%w 星期, 0-6 (0是星期天)
%W 算出某一天屬于該年的第幾周, 01-53
%Y 年, YYYY
%% 百分號(hào)

strftime() 的用法舉例如下:
復(fù)制代碼 代碼如下:
select strftime("%Y/%m/%d %H:%M:%S", "now", "localtime");
結(jié)果:2006/10/17 21:41:09

標(biāo)簽: SQLite
相關(guān)文章:
主站蜘蛛池模板: 亚洲美女视频网站 | 亚洲国产精品一区二区不卡 | 成年人网站在线观看视频 | 欧美成人短视频 | 国产一区二区久久精品 | 亚洲精品成人一区二区 | 悟空影视大全免费影视 | 亚洲精品一二三四区 | 午夜爽视频 | 成人做爰视频www | 欧美综合在线视频 | 久久成人免费网站 | 国产91网址 | 人人公开免费超级碰碰碰视频 | 毛片手机在线视频免费观看 | 丁香五香天堂 | 国产天堂亚洲精品 | 亚洲第一免费视频 | 亚洲一区二区三区福利在线 | 国产三级手机在线 | 亚洲午夜精品久久久久久抢 | 亚洲欧美日韩国产精品影院 | www.99精品 | 91精品国产手机 | 亚洲精品成人一区二区aⅴ 亚洲精品成人一区二区www | 国产大尺度福利视频在线观看 | 99久久精品视香蕉蕉er热资源 | 全部免费毛片免费播放 | 国产精品成人自拍 | 亚洲一区精品在线 | 一级毛片视屏 | 97在线视频免费公开观看 | 自怕偷自怕亚洲精品 | 超清国产粉嫩456在线免播放 | 毛色毛片免费看 | 国产一区二区三区四区波多野结衣 | 国产成人精品日本亚洲语音2 | 国产粗大猛烈18p | 中国老太性色xxxxxhd | 久久精品中文字幕不卡一二区 | 久久精品国产亚洲7777小说 |