0

日期 = '9/4/2020'。

现在在 excel 上我使用格式 TEXT(date,'YYYYMMDD') 进行转换,如何在 python 中复制相同的格式?

我尝试使用 datetime 函数

d = datetime.strptime(date, '%Y%m%d')

但我得到值错误 ValueError: time data '9/4/2020' does not match format '%Y%m%d'

我该如何解决?

4

4 回答 4

1

不知道你是否想要这样的输出:

date = '9/4/2020'
d = datetime.datetime.strptime(date, '%d/%M/%Y')
print(d)

输出:

2020-01-09 00:04:00
于 2020-04-13T15:52:51.320 回答
0

首先,您需要在格式中使用小写 m。转换为日期时间后,只需使用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'
于 2020-04-13T15:53:16.097 回答
0

这应该做你想要的:

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
于 2020-04-13T15:53:53.940 回答
0

在 Python 中,这称为strptime(字符串解析时间,即从字符串中获取时间对象)和strftime(从时间中获取字符串,从时间对象中获取字符串表示 - 逆过程)。

各种时间符号在此处的 Python 文档中列出。您需要准确描述时间的格式,包括分隔符(例如/or -)。在两者之间,您根据文档中的代码表示年、月、日等。所以在你的情况下:

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')

应该管用。(假设第一天到来。)

于 2020-04-13T15:37:07.617 回答