Python yöntemini kullanın datetime.strftime(format), burada 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')))
Zaman dilimleri
Saat dilimleri önemliyse, MySQL saat dilimi aşağıdaki gibi UTC için ayarlanabilir:
cursor.execute("SET time_zone = '+00:00'")
Ve saat dilimi Python'da ayarlanabilir:
now = datetime.datetime.utcnow().replace(tzinfo=datetime.timezone.utc)
MySQL, şu formatlarda DATETIME ve TIMESTAMP değerlerini tanır:
"YYYY-AA-GG SS: DD: SS" veya "YY-AA-GG SS: DD: SS"
biçiminde bir dize olarak . Burada da "rahat" bir söz dizimine izin verilmektedir: Herhangi bir noktalama karakteri, tarih bölümleri veya saat bölümleri arasında sınırlayıcı olarak kullanılabilir. Örneğin, '2012-12-31 11:30:45', '2012 ^ 12 ^ 31 11 + 30 + 45', '2012/12/31 11 * 30 * 45' ve '2012 @ 12 @ 31 11 ^ 30 ^ 45 'eşdeğerdir.
Tarih ve saat bölümü ile kesirli saniye bölümü arasında tanınan tek sınırlayıcı ondalık noktadır.
Tarih ve saat bölümleri boşluk yerine T ile ayrılabilir. Örneğin, '2012-12-31 11:30:45' '2012-12-31T11: 30: 45' eşdeğerdir.
Dizenin tarih olarak anlamlı olması koşuluyla, 'YYYYAAGGSHMMSS' veya 'YYMMDDHHMMSS' biçiminde sınırlayıcı içermeyen bir dize olarak. Örneğin, '20070523091528' ve '070523091528' '2007-05-23 09:15:28' olarak yorumlanır, ancak '071122129015' yasa dışıdır (anlamsız bir dakika bölümü vardır) ve '0000-00-00 00 olur: 00:00' .
Sayının tarih olarak anlamlı olması koşuluyla, YYYYAAGGHHMMSS veya YYMMDDHHMMSS biçiminde bir sayı olarak. Örneğin, 19830905132800 ve 830905132800, "1983-09-05 13:28:00" olarak yorumlanır.
%scursor.execute("INSERT INTO table (name, id, datecolumn) VALUES (%s, %s , '%s')",("name", 4,now))