[英]how to check if date is in certain interval python?
我正在从Yahoo Finance导入日期,并希望将其转换为一种格式,以便我可以将其与今天进行比较,以检查日期是否在现在的3到9个月之间。
这是我到目前为止的内容:
today = time.strftime("%Y-%m-%d")
today = datetime.datetime.strptime(today, '%Y-%m-%d')
int_begin = today + datetime.timedelta(days=90)
int_end = today + datetime.timedelta(days=270)
for i in opt["Expiry"]:
transf_date = datetime.datetime.strptime(opt["Expiry"][1],'%b %d, %Y')
transf_date = datetime.datetime.strftime(transf_date,"%Y-%m-%d")
if int_begin <= transf_date and transf_date <= int_end:
print "True:",i
else:
print "False:",i
这是opt [“ Expiry”]的内容
0 Jan 20, 2017 1 Jan 20, 2017 2 Jan 20, 2017 3 Jan 20, 2017 4 Jan 20, 2017 5 Jan 20, 2017 6 Jan 20, 2017 7 Jan 20, 2017 8 Jan 20, 2017 9 Jan 20, 2017 10 Jan 20, 2017 11 Jan 20, 2017 12 Jan 20, 2017 13 Jan 20, 2017 14 Jan 20, 2017 15 Jan 20, 2017 16 Jan 20, 2017 17 Jan 19, 2018 18 Jan 20, 2017 19 Jan 19, 2018 20 Jan 20, 2017 21 Mar 17, 2017 22 Jan 20, 2017 23 Mar 17, 2017 24 Jan 20, 2017 25 Mar 17, 2017 26 Apr 21, 2017 27 Jun 16, 2017 28 Jan 19, 2018 29 Jan 20, 2017 ... 432 Jan 20, 2017 433 Jan 19, 2018 434 Oct 21, 2016 435 Jan 20, 2017 436 Jan 19, 2018 437 Oct 21, 2016 438 Jan 20, 2017 439 Jan 19, 2018 440 Oct 21, 2016 441 Jan 20, 2017 442 Jan 19, 2018 443 Oct 21, 2016 444 Jan 20, 2017 445 Jan 19, 2018 446 Oct 21, 2016 447 Jan 20, 2017 448 Oct 21, 2016 449 Jan 20, 2017 450 Oct 21, 2016 451 Jan 20, 2017 452 Oct 21, 2016 453 Jan 20, 2017 454 Oct 21, 2016 455 Jan 20, 2017 456 Oct 21, 2016 457 Jan 20, 2017 458 Jan 20, 2017 459 Jan 20, 2017 460 Jan 20, 2017 461 Jan 20, 2017
似乎我具有相同的日期格式,即“%Y-%m-%d”,但仍然没有过滤出任何值。 所有这些都真实地出现在区间内。
您正在使用transf_date = datetime.datetime.strptime(opt["Expiry"][1],'%b %d, %Y')
而不是transf_date = datetime.datetime.strptime(opt["Expiry"][i],'%b %d, %Y')
,这意味着即使您遍历整个opt["Expiry"]
,也始终会处理相同的条目。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.