Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django和Python处理日期格式的更改_Python_Django_Date_Django Models - Fatal编程技术网

Django和Python处理日期格式的更改

Django和Python处理日期格式的更改,python,django,date,django-models,Python,Django,Date,Django Models,我正在将CSV文件中的记录导入django模型。CSV文件由用户上传。我面临的问题是日期字段 “日期”字段要求日期为YYYY-MM-DD,但不同的电子表格程序默认为不同类型的格式,我不希望用户必须更改其默认格式 因此,我想找到django接受日期的最佳方法,这些日期可能有多种格式 我认为可以工作的是指定一个允许的日期格式列表,并尝试将字符串与其中一个匹配。。。 谢谢当您将日期字符串转换为datetime对象时,您可能会将datetime.strtime与format参数一起使用。我会问用户他们使

我正在将CSV文件中的记录导入django模型。CSV文件由用户上传。我面临的问题是日期字段

“日期”字段要求日期为
YYYY-MM-DD
,但不同的电子表格程序默认为不同类型的格式,我不希望用户必须更改其默认格式

因此,我想找到django接受日期的最佳方法,这些日期可能有多种格式

我认为可以工作的是指定一个允许的日期格式列表,并尝试将字符串与其中一个匹配。。。
谢谢

当您将日期字符串转换为
datetime
对象时,您可能会将
datetime.strtime
与format参数一起使用。我会问用户他们使用什么格式和/或将其存储在数据库中(我的意思是允许他们选择他们想要的格式)。

我见过的“fuzzy”日期字符串解析的最佳选择是库


不幸的是,仍然有可能出现事情模棱两可的情况,任何代码有时都会猜错。Dateutil的匹配逻辑有很好的文档记录,因此如果您遇到错误的猜测,您应该能够相对快速地找出发生了什么。

不可能检测到格式。例如,
2011年7月11日
在一些国家意味着11月7日,在另一些国家意味着7月11日。你只能尝试一些“最佳猜测”。是的,我想,这就是为什么我想允许指定的格式。所以我可以尝试将它与其中一种格式匹配,冒着出错的风险。我会把问题更新得更具体好吧,我希望我已经更新了问题,以便更好地解释。谢谢你的帮助Sventanks Mike,这是一个绝对“傻瓜式”的选择,jsut可能是我必须要走的路…尽管如果可能的话我想避免它!这就是我一直在寻找的,此外,它还提供了很多其他功能,这些功能在将来会很有用