如果时间过去了,请加油

时间:2017-06-30 09:57:30

标签: python-3.x

我的文件名称为" 30.06.2017_10.30.txt"。在这些文件中是日期的详细信息,名称是它的时间。我希望我的程序检查此日期是否有效,我还想检查文件名中的日期是否已通过。我尝试了以下方法:

        i = "30.06.2017_10.30.txt"
        print(int(i[6:10]))  #1
        if int(i[6:10]) < int(time.strftime("%Y", time.gmtime())):
            print(i[6:10])   #2
            pass
        else:
            if int(i[3:4]) < int(time.strftime("%m", time.gmtime())):
                print(i[3:4])
                pass
            else:
                if int(i[0:1]) < int(time.strftime("%d", time.gmtime())):
                    print(i[0:1])
                    pass                        
                else:
                    if int(i[11:12]) < int(time.strftime("%H", time.gmtime())):
                        print(i[11:12])
                        pass
                    else:
                        if int(i[14:15]) < int(time.strftime("%M", time.gmtime())):
                            print(i[14:15])
                            pass
                        else:
                            print("date is active")

问题是:#1打印&#34; 2017&#34;但#2打印&#34; 0&#34;。因此它通过并且日期被视为不活跃。我编码错了吗?

1 个答案:

答案 0 :(得分:0)

使用[i:j]时,它会排除最后一个索引。这意味着从第i个角色到第​​(j-1)个角色。

我[6:10] - 这意味着从第6个字符到第9个字符(总共4个字符,“2017”在你的情况下“

我[3:5] - 这将给你2个字符-3rd和4th-(“06”),你真正想要的。