【发布时间】:2021-01-05 02:10:13
【问题描述】:
我需要一个将日期字符串作为输入的函数,并验证输入的格式是否为 %m/%d%Y (MM/DD/YYYY) 或将给定日期重新格式化为该格式。但是,当我运行以下命令时,我打印:“日期为:无”。任何人都可以提供一些指导如何解决这个问题吗?非常感谢任何帮助!
import datetime
test_date = "08/19/2020"
def date_fixer(date_string):
'''takes a date as input and reformats if needed.'''
format = "%m/%d/%Y"
date_string = str(date_string)
try:
datetime.datetime.strptime(date_string, format)
print("This is the correct date string format.")
except ValueError:
print("This is the incorrect date string format. It should be %m/%d/%Y")
#convert
date_string = parse(str(date_string)).strftime('%m/%d/%Y')
return(date_string)
date = date_fixer(test_date)
print("date is: " + str(date))
【问题讨论】:
-
如果
try成功,date_fixer()函数不会返回任何内容。因此它返回None。 -
也许您的意思是取消缩进最后的
return(date_string)行,这样无论try失败还是成功,它都会执行?
标签: python datetime datetime-format python-datetime