[英]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.