Pythonメソッドを使用しdatetime.strftime(format)
ます(format =)'%Y-%m-%d %H:%M:%S'
。
import datetime
now = datetime.datetime.utcnow()
cursor.execute("INSERT INTO table (name, id, datecolumn) VALUES (%s, %s, %s)",
("name", 4, now.strftime('%Y-%m-%d %H:%M:%S')))
時間帯
タイムゾーンが問題になる場合は、MySQLタイムゾーンを次のようにUTCに設定できます。
cursor.execute("SET time_zone = '+00:00'")
そしてタイムゾーンはPythonで設定できます:
now = datetime.datetime.utcnow().replace(tzinfo=datetime.timezone.utc)
MySQLは、次の形式のDATETIMEおよびTIMESTAMP値を認識します。
「YYYY-MM-DD HH:MM:SS」または「YY-MM-DD HH:MM:SS」
形式の文字列として。「リラックスした」構文もここで許可されています。句読点文字は、日付部分または時間部分の間の区切り文字として使用できます。たとえば、「2012-12-31 11:30:45」、「2012 ^ 12 ^ 31 11 + 30 + 45」、「2012/12/31 11 * 30 * 45」、および「2012 @ 12 @ 31 11 ^ 30 ^ 45 'は同等です。
日付と時刻の部分と秒の小数部分の間で認識される唯一の区切り文字は小数点です。
日付と時刻の部分は、スペースではなくTで区切ることができます。たとえば、「2012-12-31 11:30:45」と「2012-12-31T11:30:45」は同等です。
「YYYYMMDDHHMMSS」または「YYMMDDHHMMSS」形式の区切り文字のない文字列として、文字列が日付として意味がある場合。たとえば、「20070523091528」と「070523091528」は「2007-05-23 09:15:28」として解釈されますが、「071122129015」は不正であり(無意味な分の部分があるため)、「0000-00-00 00」になります。 00:00 '。
YYYYMMDDHHMMSSまたはYYMMDDHHMMSS形式の数値として、数値として日付として意味がある場合。たとえば、19830905132800と830905132800は「1983-09-05 13:28:00」と解釈されます。
%s
cursor.execute("INSERT INTO table (name, id, datecolumn) VALUES (%s, %s , '%s')",("name", 4,now))