雲雀は高く空を舞い このページをアンテナに追加 RSSフィード

「ひよこは高く空を舞い」について

2009-11-28

[]PythonからSQLite3への日付型変数の登録 PythonからSQLite3への日付型変数の登録 - 雲雀は高く空を舞い を含むブックマーク はてなブックマーク - PythonからSQLite3への日付型変数の登録 - 雲雀は高く空を舞い PythonからSQLite3への日付型変数の登録 - 雲雀は高く空を舞い のブックマークコメント

PythonからSQLiteにデータを登録するに当たり,datetime.date型とdatetime.datetime型をISO日付形式,ISO タイムスタンプ形式に変換する適合関数がデフォルトで登録されている.それ以外の形式に,あるいはそれ以外の型を適切な型に変換して登録したいときには適当な適合関数を書いて登録すればよい。

import sqlite3
import datetime, time
sqlite3.connect(":memory:")
cur = con.cursor()

cur.execute("select ?", (datetime.datetime.now(),))
print(cur.fetchone()[0])
2009-11-28 11:56:02.498758



sqlite3の日付処理関数については以前にまとめたけど再び。

日付処理関数はstrftime, datetime, date, time, Juliandayがあって、このうち datetime, date, time, Juliandayはそれぞれstrftimeの特別な場合。


書式はstrftime(format, timestring, [modifier, ...])datetime(timestring, [modifier, ...])など。


modifierにutcを指定した場合は,与えられたtimestringをローカルタイムゾーンでの日時として解釈しUTCの日時に変換して表示する.ローカルタイムゾーンがJSTの場合はtimestringから9時間引かれた時間が返る.


逆にlocaltimeを指定した場合は与えられたtimestringをUTCでの日時として解釈しローカルタイムゾーンの日時に変換して表示する。ローカルタイムゾーンがJSTの場合はtimestringに9時間たされた時間が返る.




cur.execute("select date(?)", (datetime.datetime.now(),))
print(cur.fetchone()[0])

2009-11-28
cur.execute("select time(?)", (datetime.datetime.now(),))
print(cur.fetchone()[0])

11:59:48
cur.execute("select datetime(?)", (datetime.datetime.now(),))
print(cur.fetchone()[0])

2009-11-28 11:59:48
cur.execute("select datetime(?, 'utc')", (datetime.datetime.now(),))
print(cur.fetchone()[0])

2009-11-28 02:59:29
cur.execute("select datetime(?, 'localtime')", (datetime.datetime.now(),))
print(cur.fetchone()[0])

2009-11-28 20:59:11

RizalRizal 2014/07/09 08:56 I'm impressed by your writing. Are you a professional or just very knoewedgeabll?

LevonLevon 2014/07/22 08:01 A piece of <a href="http://stosri.com">erioutidn</a> unlike any other!

DianaDiana 2014/07/28 07:15 Holy Tolode, so glad I clicked on this site first! http://lczmzwdrs.com [url=http://tstikgdimx.com]tstikgdimx[/url] [link=http://qosuuplpkx.com]qosuuplpkx[/link]

ゲスト



トラックバック - http://chick.g.hatena.ne.jp/allegro/20091128
テクノラティプロフィール