我有一个表格,用户的生日。默认情况下,Django接受三种日期输入格式,包括MM / DD / YY。但是,如果我输入类似02/13/45的内容,则会保存为02/13/2045。我已经查看了我希望在文档中找到一些线程的地方,但仍然没有。有人能把我推向正确的方向吗?
答案 0 :(得分:1)
DateField仅uses the datetime.strptime
method,后者又使用the underlying C strftime
implementation;没有办法改变解析两位数年份的方式。正如评论中所提到的,最好的方法是检查它是否会在未来,然后减去100。
def clean_birthdate(self):
birthdate = self.cleaned_data('birthdate')
if birthdate > datetime.datetime.today():
birthdate = birthdate.replace(year=(birthdate.year-100))
return birthdate