我正在尝试将日期字符串:'6-3-1975'
规范化为以下格式的日期时间对象:'06/03/1975'
我有这个方法:
def normalizeDate(date):
formatted_date = date.replace('-', '/')
date_obj = datetime.strptime(formatted_date, '%m/%d/%Y').date()
# date = datetime.strftime(date_obj, '%m/%d/%Y')
# print(date)
return date_obj
打印出 .date()
时,格式使用破折号,我也尝试使用 strftime
但这会将 date_object 转换回字符串。有没有办法重新格式化日期以使用斜线并仍然是日期时间对象?
最佳答案
您可以自己处理日期字符串,为其提供所需的格式,然后将其转换为datetime
对象:
def normalizeDate(date):
newDate = '/'.join(str.zfill(elem,2) for elem in date.split('-'))
date_obj = datetime.strptime(newDate, '%m/%d/%Y').date()
return date_obj
为了将您的日期打印成该特定格式,您必须对创建的新 datetime
对象使用 strftime
:
inDate = '6-3-1975'
d = normalizeDate(inDate)
print(d.strftime('%m/%d/%Y'))
print(type(d))
这是设置datetime
对象格式的唯一方法。
关于python - 重新格式化日期时间对象以使用斜杠而不是破折号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57013274/