如何将字符串(Fri Nov 19 16:23:54 +0800 2010)插入到类型为TIMESTAMP的表字段中?

时间:2010-11-19 11:56:50

标签: python mysql

我正在使用Python和MYSQLdb连接到Mysql。 现在我需要在一个字段中插入一个字符串“Fri Nov 19 16:23:54 +0800 2010”,我该怎么办?

1 个答案:

答案 0 :(得分:1)

您可以使用Python time.strptime()方法解析该sting,然后使用strftime()将其转换为MySQL所需的字符串。不幸的是我的Python 2.6无法处理%z指令,但您可以检查您的实现代码:

import datetime

def test_dt(d, f):
    dt = datetime.datetime.strptime(d, f)
    print('%s -> %s' % (d, dt.strftime('%Y-%m-%d %H:%M:%S %Z')))
    print('-' * 10)

test_dt('Fri Nov 19 16:23:54 2010', '%a %b %d %H:%M:%S %Y')
test_dt('Fri Nov 19 16:23:54 +8000 2010', '%a %b %d %H:%M:%S %z %Y')

如果它与%z失败,那么请考虑您是否需要该时区,或者是否可以将其从字符串中删除并以其他方式应用于dt对象。

似乎%z问题已报告并已解决:http://bugs.python.org/issue6641