How do you insert a date field in python?
I have a date column in a MySQL table. I want to insert a Show I have tried:
I am getting an error as:
asked Jul 16, 2009 at 9:29 1 For a time field, use:
I think
FObersteiner 18.2k5 gold badges29 silver badges57 bronze badges answered Dec 22, 2010 at 11:56 7 You are most likely getting the TypeError because you need quotes around the datecolumn value. Try:
With regards to the format, I had success with the above command (which includes the milliseconds) and with:
Hope this helps.
Martin Thoma 113k148 gold badges570 silver badges876 bronze badges answered Aug 30, 2012 at 6:59
EdvinasEdvinas 6956 silver badges8 bronze badges 2 Try using If that doesn't work, then converting that to a string should work:
answered Jul 16, 2009 at 9:39
WoganWogan 66.1k5 gold badges33 silver badges35 bronze badges 1 Use Python method
TimezonesIf timezones are a concern, the MySQL timezone can be set for UTC as follows:
And the timezone can be set in Python:
MySQL Documentation
answered Apr 14, 2019 at 18:00
What database are you connecting to? I know Oracle can be picky about date formats and likes ISO 8601 format. **Note: Oops, I just read you are on MySQL. Just format the date and try it as a separate direct SQL call to test. In Python, you can get an ISO date like
For instance, Oracle likes dates like
Depending on your database, if it is Oracle you might need to TO_DATE it:
The general usage of TO_DATE is:
If using another database (I saw the cursor and thought Oracle; I could be wrong) then check their date format tools. For MySQL it is DATE_FORMAT() and SQL Server it is CONVERT. Also using a tool like SQLAlchemy will remove differences like these and make your life easy.
answered Jul 16, 2009 at 15:08
Ryan ChristensenRyan Christensen 7,7851 gold badge26 silver badges25 bronze badges 1 If you're just using a python datetime.date (not a full datetime.datetime), just cast the date
as a string. This is very simple and works for me (mysql, python 2.7, Ubuntu). The column
Phillip 2,1553 gold badges25 silver badges40 bronze badges answered May 16, 2017 at 0:08
jbartasjbartas 3082 silver badges6 bronze badges
Above code will fail as "datetime.now()" produces "datetime.datetime(2014, 2, 11, 1, 16)" as a parameter value to insert statement. Use the following method to capture the datetime which gives string value.
I was able to successfully run the code after the change... answered Dec 22, 2021 at 2:18
SunilSunil 563 bronze badges when iserting into t-sql this fails:
this works:
easy way:
ivcubr 1,7789 gold badges19 silver badges25 bronze badges answered Oct 4, 2019 at 10:54
How do you create a date field in Python?To create a date, we can use the datetime() class (constructor) of the datetime module. The datetime() class requires three parameters to create a date: year, month, day.
Is there a date data type in Python?In Python, date and time are not a data type of their own, but a module named datetime can be imported to work with the date as well as time. Python Datetime module comes built into Python, so there is no need to install it externally. Python Datetime module supplies classes to work with date and time.
What does date () do in Python?The date() instance method of the python datetime class returns a date instance. Using this method only the date information excluding the time information is retrieved from a datetime instance.
How do I format a date in YYYY MM DD in Python?In Python, we can easily format dates and datetime objects with the strftime() function. For example, to format a date as YYYY-MM-DD, pass “%Y-%m-%d” to strftime(). If you want to create a string that is separated by slashes (“/”) instead of dashes (“-“), pass “%Y/%m/%d” to strftime().
|