我的文件名称为" 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;。因此它通过并且日期被视为不活跃。我编码错了吗?
答案 0 :(得分:0)
使用[i:j]时,它会排除最后一个索引。这意味着从第i个角色到第(j-1)个角色。
我[6:10] - 这意味着从第6个字符到第9个字符(总共4个字符,“2017”在你的情况下“
我[3:5] - 这将给你2个字符-3rd和4th-(“06”),你真正想要的。