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
如何删除';0';从我在django(python)的约会日开始?_Python_Django_Date_Datetime - Fatal编程技术网

如何删除';0';从我在django(python)的约会日开始?

如何删除';0';从我在django(python)的约会日开始?,python,django,date,datetime,Python,Django,Date,Datetime,我正在创建一个django应用程序,我遇到了下一个问题:我有一个日期(例如“2001年6月3日”),无法将该字符串转换为日期,因为python中不存在引用没有“0”的日期的format指令 我怎样才能把它转换成“2001-06-03” 谢谢 如果您使用的是python,则可以使用datetime.strtime- from datetime import datetime d = datetime.datetime.strptime("June 3 , 2001" , "%B %d , %Y")

我正在创建一个django应用程序,我遇到了下一个问题:我有一个日期(例如“2001年6月3日”),无法将该字符串转换为日期,因为python中不存在引用没有“0”的日期的format指令

我怎样才能把它转换成“2001-06-03”


谢谢

如果您使用的是python,则可以使用datetime.strtime-

from datetime import datetime
d = datetime.datetime.strptime("June 3 , 2001" , "%B %d , %Y")
d
>> datetime.datetime(2001, 6, 3, 0, 0)
请理解
%B
(注意大写字母B)->代表完整的月份名称(如一月/二月/六月)

如果要使用3个字母的缩写(如一月/二月/六月),请使用
%b

要以要求使用的格式返回日期,请使用
datetime.strftime
,如下所示-

d.strftime("%Y-%m-%d")
>> '2001-06-03'
如果必须对月份名称使用两种格式,可以先尝试使用一种格式,然后捕获异常,如果失败,则使用另一种格式。范例-

from datetime import datetime
try:
    d = datetime.datetime.strptime("June 3 , 2001" , "%B %d , %Y")
expect ValueError:
    d = datetime.datetime.strptime("June 3 , 2001" , "%b %d , %Y")
d
>> datetime.datetime(2001, 6, 3, 0, 0)

通过安装
pip install python dateutil

然后


问题是%d对于该天不正确,因为“3”天没有“0”(我的意思是,它不是“03”);所以我有一个错误。“时间数据‘2010年6月6日’与格式“%b%d,%Y”不匹配”正如我在帖子中所说(请仔细阅读),请使用
%b
,而不是
%b
(大写b),问题不在于
%d
“0”不是问题,只需在控制台中尝试该行,您就会看到。时间数据‘2010年6月6日’与格式“%b%d”不匹配,%Y'就像我说的,只使用一种格式,三个字母的缩写或全名,谢谢!!这就是我需要的!
>>>from dateutil import parser
>>>mydate = "June 3, 2001"
>>>str(parser.parse(mydate).date())
'2001-06-03'