在python中将mysql的字符串转换为datetime

dgsult0t  于 2021-06-20  发布在  Mysql
关注(0)|答案(3)|浏览(432)

我想把我的日期转换成mysql的datetime对象。
我的字符串格式是: Mon Aug 27 04:47:45 +0000 2018 预期产量: 'YYYY-M-D H:mm:ss'

nbewdwxp

nbewdwxp1#

from datetime import datetime
date_as_dt_object = datetime.strptime(dt, '%a %b %d %H:%M:%S %z %Y')

您可以在原始查询或orm中使用date\作为\u dt\对象。如果用于原始查询,则将其作为字符串传递,如下所示:

query = "select * from table where date >" + str(date_as_dt_object)

查看此列表以获取python的strftime指令。http://strftime.org/

bxpogfeg

bxpogfeg2#

from datetime import datetime
t = datetime.strptime('Mon Aug 27 04:47:45 +0000 2008', '%a %b %d %H:%M:%S %                                                                                                             z %Y')
t.strftime('%Y-%m-%d %H:%M:%S')

参见第8.1.8节

wgeznvg7

wgeznvg73#

如果您使用的是python3,那么这个解决方案就可以工作了-

from datetime import datetime
x = 'Mon Aug 27 04:47:45 +0000 2018'
x = datetime.strftime(datetime.strptime(x, '%a %b %d %I:%M:%S %z %Y'), '%Y-%m-%d %H:%M:%S')

# OP '2018-08-27 04:47:45'

但是对于python2,您可能会得到 ValueError: 'z' is a bad directive... . 在这种情况下,要么使用pytz或dateutil之类的工具。您需要查找所有这些转换的表可以在这里找到
编辑:你不能 Expected Output: 'YYYY-M-D H:mm:ss' 如果将datetime字符串转换为datetime对象。datetime对象有自己的格式。上面给你一个 string 你想要的格式

相关问题