PythonでMySQLのTIME型をSELECTする方法がわからないのでよろしくお願いいたします。
このプログラムを起動→起動時の時刻を取得→データベースに挿入→データベースから抜き出し→表示
という感じなのですがどうも抜き出したときに形が変わってしまうようです。
詳しく説明すると
DatetimeでHH:MM:SSという形で取得します。
そしてtb_nameというテーブルの日付型のDATE型HH:MM:SSの形で保存します。
その後、SELECT文でHH:MM:SSを抽出・c.fetchall()で取得という感じにしたいのですが、(datetime.timedelta(0,7968))というような形で表示されます。
エラーは特にでないのですが、思っていた形と違うのでとても困っています。
(datetime.timedelta(0,1234)のような形からHH:MM:SSへ変更する方法、もしくはHH:MM:SSの形で取得する方法がありましたらご教示お願い致します。
よろしくお願いいたします。
python
1import mysql.connector 2from datetime import datetime 3 4conn=mysql.connector.connect( 5 host='localhost', 6 port='3306', 7 user='user', 8 password='password', 9 database='database', 10 ) 11c=conn.cursor() 12 13def main(): 14 c.execute('CREATE TABLE IF NOT EXISTS tb_name(time time)') 15 date=datetime.now().strftime('%X') 16 print (date) 17 c.execute('''INSERT INTO tb_name(time) VALUES(%s)''',(date,)) 18 conn.commit() 19 20 c.execute('''SELECT time FROM tb_name''') 21 print(c.fetchall()) 22 23if __name__=='__main__': 24 main() 25
実行結果の例
16:42:53
[(datetime.timedelta(0, 7968),), (datetime.timedelta(0, 8060),)]
アドバイスや必要な追加情報などありましたら宜しくお願い致します。
環境
windows 10
mysql 5.7.23
Python 3.6.6
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。