我想将字符串'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
答案 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
转换为str
,strptime
用于将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')