date='9/2020'。
现在,在excel上,我使用TEXT(日期,YYYYMMDD(格式进行转换,我如何在python中复制相同的格式?
我试着使用日期时间函数
d = datetime.strptime(date, '%Y%m%d')
但是我得到了值错误ValueError: time data '9/4/2020' does not match format '%Y%m%d'
我该怎么解决这个问题?
不确定是否需要这样的输出:
date = '9/4/2020'
d = datetime.datetime.strptime(date, '%d/%M/%Y')
print(d)
输出:
2020-01-09 00:04:00
在Python中,这被称为strptime
(字符串解析时间,即从字符串获取时间对象(和strftime
(字符串从时间,从时间对象获取字符串表示-相反的过程(。
Python文档中列出了各种时间符号。您需要准确描述时间的格式,包括分隔符(如/
或-
(。在两者之间,根据文档中的代码表示年、月、日等。所以在你的情况下:
d = datetime.strptime(date, '%d/%M/%Y')
会给你时间对象,然后你可以使用
print(datetime.strftime(d, '%Y%M%d'))
去买新的。
或者在一行中:
d = strftime(strptime('9/4/2020', '%d/%M/%Y'), '%Y%M%d')
应该起作用。(假设第一天到来。(
首先需要在格式中使用小写m。转换为datetime后,只需使用strftime 转换回字符串
d = datetime.strptime(date, '%d/%m/%Y').strftime('%Y%m%d')
另一种选择是只拆分字符串日期:
f"{date.split('/')[2]}{date.split('/')[1].zfill(2)}{date.split('/')[0].zfill(2)}"
'20200409'
这应该可以实现您想要的:
d = datetime.strptime(date, '%d/%M/%Y') # Convert string to date
new_date_format = d.strftime("%Y%m%d") # Set your custom date format
print('My new Date format: {}'.format(new_date_format)). # Print the result