如何在Python中将字符串转换为日期时间
我连接了如何在Python中将字符串转换为日期时间,python,datetime,odoo-11,Python,Datetime,Odoo 11,我连接了 date(date field) time(float) date_time_to(Char) 我得到的是这种格式的输出“2018-10-09 20.00” 我需要此格式的输出'%m/%d/%Y%H:%m:%S' 我使用了“obj.date\u time\u to=datetime.strtime(self.date\u time\u to,“%m/%d/%Y%H:%m:%S.%f”)” 我越来越 ValueError: time data '2018-10-09 20.00' do
date(date field)
time(float)
date_time_to(Char)
我得到的是这种格式的输出“2018-10-09 20.00”
我需要此格式的输出'%m/%d/%Y%H:%m:%S'
我使用了“obj.date\u time\u to=datetime.strtime(self.date\u time\u to,“%m/%d/%Y%H:%m:%S.%f”)”
我越来越
ValueError: time data '2018-10-09 20.00' does not match format '%m/%d/%Y %H:%M:%S.%f'
您需要使用正确的格式解析字符串:
from datetime import datetime
input = "2018-10-09 20.00"
# ^^^^^^^^^^^^^^^^-----⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄
d = datetime.strptime(input, "%Y-%m-%d %H.%M") # parse to datetime object
result = d.strftime("%m/%d/%Y %H:%M:%S") # now convert to desired format
#⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄-^^^^^^^^^^^^^^^^^
'10/09/2018 20:00:00'
您可以使用
datetime
模块。检查文档
例如:
import datetime
x = "09/10/2018"
date = datetime.datetime.strptime(date, "%d/%M/%Y") # string to datetime
格式字符串必须与输入值匹配。您的使用不同的分隔符,并且更长。日期字段的顺序也是错误的。为什么您希望只
%m/%d/%Y
匹配2018-10-09
?您可能想看看datetime是如何运行的,似乎不了解格式化参数是如何工作的<代码>%m/%d%Y将是以月/日/年为单位的日期。您需要根据您的输入进行调整,如@schwobaseggi的回答所示。