使用python设置日期格式

使用python设置日期格式,python,datetime,Python,Datetime,要获取日期,我使用此块: currentDate = date.today() today = currentDate.strftime('%m/%d/%Y') 它返回的格式为2014年12月22日或2015年2月1日 然后我必须与2014年12月22日或2015年1月2日文件中的字符串进行比较(注意:我无法更改字符串),我使用: if l[0] == today: 在第二种情况下,它显然失败了。 我的问题是:如果strftime()在零之前,我如何更改它以只返回一个月和一天的字符?关于,似

要获取日期,我使用此块:

currentDate = date.today()
today = currentDate.strftime('%m/%d/%Y')
它返回的格式为2014年12月22日或2015年2月1日 然后我必须与2014年12月22日或2015年1月2日文件中的字符串进行比较(注意:我无法更改字符串),我使用:

if l[0] == today:
在第二种情况下,它显然失败了。 我的问题是:如果strftime()在零之前,我如何更改它以只返回一个月和一天的字符?

关于,似乎没有用于此的字符序列。但是,您可以按如下方式更正结果:

today = currentDate.strftime('%m/%d/%Y').replace("/0", "/")
if today[0] == '0':
    today = today[1:]

这将消除任何前导的
0
s,只要用正斜杠拆分值即可。

只需比较datetime对象:

from datetime import datetime, date

currentDate = date.today()
file_dt = "1/3/2015"
dt2 = datetime.strptime(file_dt,"%m/%d/%Y")
print(dt2.date() == currentDate)

警告,不是标准的,因此无法在某些平台上工作(请查看strftime(3)文档中的“Glibc注释”部分)。无论如何,我同意其他答案,最好比较datetime对象,它不会取代第一个前导的
0
-OMGthchy,我喜欢你的建议,我这样做了:(Pdb)today=currentDate.strftime(“%m/%d/%Y”)。替换(“/0“,“/”)(Pdb)p today'01/3/2015'因此它取代了第二个零,是否可以同时删除两个零?@susik有一个输入错误,我将其与0而不是“0”进行了核对,现在应该可以了,很好!!无论日期是否为零,现在都可以完美地工作。谢谢你。@susik没问题。现在,如果您不理解代码,我建议您先通读一遍,直到理解为止,因为这样的事情经常出现。比较两个datetime对象,而不是字符串
today = currentDate.strftime('%-m/%-d/%Y')