我想把我的日期转换成mysql的datetime对象。我的字符串格式是: Mon Aug 27 04:47:45 +0000 2018 预期产量: 'YYYY-M-D H:mm:ss'
Mon Aug 27 04:47:45 +0000 2018
'YYYY-M-D H:mm:ss'
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/
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节
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 你想要的格式
ValueError: 'z' is a bad directive...
Expected Output: 'YYYY-M-D H:mm:ss'
string
3条答案
按热度按时间nbewdwxp1#
您可以在原始查询或orm中使用date\作为\u dt\对象。如果用于原始查询,则将其作为字符串传递,如下所示:
查看此列表以获取python的strftime指令。http://strftime.org/
bxpogfeg2#
参见第8.1.8节
wgeznvg73#
如果您使用的是python3,那么这个解决方案就可以工作了-
但是对于python2,您可能会得到
ValueError: 'z' is a bad directive...
. 在这种情况下,要么使用pytz或dateutil之类的工具。您需要查找所有这些转换的表可以在这里找到编辑:你不能
Expected Output: 'YYYY-M-D H:mm:ss'
如果将datetime字符串转换为datetime对象。datetime对象有自己的格式。上面给你一个string
你想要的格式