पायथन विधि का प्रयोग करें datetime.strftime(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 timezone UTC के लिए सेट किया जा सकता है:
cursor.execute("SET time_zone = '+00:00'")
और समयक्षेत्र पायथन में सेट किया जा सकता है:
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' समकक्ष हैं।
या तो a YYYYMMDDHHMMSS ’या Y 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))