将字符串转换为日期格式?

时间:2019-05-27 20:54:14

标签: python date format

我想将字符串'17 .07.2019'转换为日期格式17-07-2019(或2019年7月17日)

我尝试了这段代码

from datetime import datetime
x = '17.07.2019'    
y=datetime.strptime(x,'%d.%m.%y')    
y=datetime.strftime(x,'%d.%m.%y')

但是我得到这个错误

TypeError: descriptor 'strftime' requires a 'datetime.date' object but received a 'str'

然后我尝试

y=pd.to_datetime(x,'%d.'%m.%Y')

但是我遇到了这个错误

SyntaxError: invalid syntax

2 个答案:

答案 0 :(得分:3)

您可以将str.replace用于简单的操作。

y = x.replace('.', '-')

或者要修复代码,您只需在strftime上使用y

y = date.strptime(x, '%d.%m.%Y')
z = y.strftime('%d-%m-%Y')

答案 1 :(得分:1)

strftime用于将datetime转换为strstrptime用于将str转换为datetime

这就是您需要的:

from datatime import datetime as date
x = '17.07.2019'
y = date.strptime(x, '%d.%m.%Y')
new_format = y.strftime('%d-%m-%Y')

您还可以直接转换为新格式

new_format = date.strptime('17.07.2019', '%d.%m.%Y').strftime('%d-%m-%Y')