13.13.4.4 缺省的适配器和转换器
datetime模块中有date和datetime类型缺省的适配器。它们被作为ISO日期/ISO时间戳传递给SQLite。缺省的转换datetime.date以”date”的名义,datetime.datetime以”timestamp”的名义标示。
这样,大多数情况中,你可以从Python中没有任何另外的无聊使用date/timestamps。适配器的格式也兼容试验性的SQLite date/time函数。
下面例子证明这个。
import sqlite3
import datetime
con = sqlite3.connect(":memory:", detect_types=sqlite3.PARSE_DECLTYPES|sqlite3.PARSE_COLNAMES)
cur = con.cursor()
cur.execute("create table test(d date, ts timestamp)")
today = datetime.date.today()
now = datetime.datetime.now()
cur.execute("insert into test(d, ts) values (?, ?)", (today, now))
cur.execute("select d, ts from test")
row = cur.fetchone()
print today, "=>", row[0], type(row[0])
print now, "=>", row[1], type(row[1])
cur.execute('select current_date as "d [date]", current_timestamp as "ts [timestamp]"')
row = cur.fetchone()
print "current_date", row[0], type(row[0])
print "current_timestamp", row[1], type(row[1])
下载文本(原文件名:sqlite3/pysqlite_datetime.py)。
出处[url=http://www.okpython.com]PYTHON中国[/url],关于翻译的任何事情请EMAIL给我[email=zkfarmer@gmail.com]zkfarmer[/email],更多文档在[url=http://www.zkfarmer.org]我的站点[/url],[color=Red]请参阅官方英文文档[/color]。
页:
[1]