【发布时间】:2020-02-10 14:51:09
【问题描述】:
为什么我总是收到这个错误?
我想要什么:输入 eu-dates,创建日期范围并创建一个值为“第一个日期的月份和年份”的变量。由于代码以 us 格式读取日期,因此我必须更改格式。我需要使用列表和命名输出的变量。 但是代码将输入读取为 us-date 并生成错误的范围。 所以我尝试更改格式,但我不断收到值错误。
如果要输入 1.2.20 和 10.2.20 我希望输出为:Feb_20
start_date = input("Enter Start Date: ")
end_date = input("Enter Last (including) Date: ")
start_date=datetime.datetime.strptime(start_date, '%m/%d/%y').strftime('%d/%m/%y')
end_date=datetime.datetime.strptime(end_date, '%m/%d/%y').strftime('%d/%m/%y')
date_list=[]
for n in range(int ((end_date - start_date).days)+1):
date_list.append((start_date + datetime.timedelta(n)).strftime("%d %m %y"))
file_version = (start_date).strftime("%b") + "_" +(start_date).strftime("%y")
print(file_version)
但这就是我得到的:
ValueError: time data '1.2.20' does not match format '%m/%d/%y'
提前感谢您的帮助
【问题讨论】:
-
你不明白什么?你的格式字符串有
/,但你的日期有.。