为 mysql 日期时间字段创建并插入一个 strftime 对象

Create and insert a strftime-object for mysql datetime-field

我有一个应该移动到新数据库的数据库。我的想法是一个 python 脚本,它读取所有旧条目,将它们转换为新格式并将它们发送到新数据库。 问题是日期(时间)的存储方式不同。在旧数据库中有 5 列(年、月、日、小时、分钟),但新数据库仅适用于日期时间字段 (YYYY-MM-DD hh:mm:ss)。

如果我在 python 中尝试这样的事情:

import time
t = time.mktime((2015,11,29,14,30,0,0*,246*,-1*))     # * not sure about these values
print time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(t))

我什至得到了比预期更多的时间:

2015-11-29 13:30:00

如何为 180k 个条目获取正确的日期时间格式,或者这是否可能已经是错误的向日期时间字段输入值的方式?

编辑:

import MySQLdb

mysql_opts = {
'host': "123.45.67.89",
'user': "user",
'pass': "password",
'db':   "db"}

t = time.mktime((2015, 11, 29, 14, 30, 0, 0, 0, 0))
date = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(t))
data = [date,...]

mysql = MySQLdb.connect(mysql_opts['host'],mysql_opts['user'],mysql_opts['pass'],mysql_opts['db'])
cursor = mysql.cursor()

cursor.execute("INSERT INTO table (date, ...) VALUES(%s,...)",(data[0],...))

mysql.commit()
mysql.close()

如果我尝试这个,我会收到这个错误:

TypeError: not all arguments converted during string formatting

在添加条目之前我还需要做什么? :S

看起来你做得对,但你没有打印 GMT 时间:

# get from old DB
Y = 2015
m = 11
d = 29
H = 14
M = 30
S = 0

t = time.mktime((Y, m, d, H, M, S, 0, 0, 0))
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(t))  # use this to get the same time

Out[1]: '2015-11-29 14:30:00'