'How to convert a string which contains date into a mysql timestamp format?

I am working in python environment. I have a date string which is like this - 26 Apr 2022 17:23:17 GMT I want to insert this date into mysql where the date column datatype is timestamp. How can I achieve this?

My variables are like this (id=1, name="Jack", date="26 Apr 2022 17:23:17 GMT")
mycurser = mydb.cursor()
sql = "INSERT INTO sample_table (id,name,date) VALUES (%s, %s, %s)"
val = (id, name, date)
mycurser.execute(sql,val)

Here date is string and mysql datatype is timestamp.



Solution 1:[1]

You could use STR_TO_DATE:

SELECT STR_TO_DATE('26 Apr 2022 17:23:17 GMT', '%d %b %Y %H:%i:%s');
-- 2022-04-26 17:23:17

Using your Python script:

sql = """INSERT INTO sample_table (id, name, date)
         SELECT %s, %s, STR_TO_DATE(%s, '%d %b %Y %H:%i:%s')"""
val = (id, name, date)
mycurser.execute(sql, val)

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1