Advertisement
Konark

Untitled

Feb 21st, 2024
17
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. from datetime import datetime
  2.  
  3. failure_sensors = [
  4. {'id': 45696, 'starting_date': datetime(2024, 1, 5), 'ending_date': datetime(2024, 1, 20), 'update_date': datetime(2024, 2, 6)},
  5. {'id': 45603, 'starting_date': datetime(2023, 10, 31), 'ending_date': datetime(2023, 12, 29), 'update_date': datetime(2024, 1, 29, 12, 43, 10)},
  6. {'id': 45497, 'starting_date': datetime(2023, 10, 28), 'ending_date': datetime(2023, 12, 31), 'update_date': datetime(2024, 1, 29, 12, 31, 30)},
  7. {'id': 45397, 'starting_date': datetime(2023, 10, 28), 'ending_date': datetime(2023, 12, 31), 'update_date': datetime(2024, 1, 29, 11, 47, 12)},
  8. {'id': 45319, 'starting_date': datetime(2023, 10, 30), 'ending_date': datetime(2023, 12, 14), 'update_date': datetime(2024, 1, 29, 10, 45, 30)}
  9. ]
  10.  
  11.  
  12. prev_starting_date = None
  13. min_start_date = failure_sensors[0]["starting_date"]
  14. max_end_date = failure_sensors[0]["ending_date"]
  15. for f_s in failure_sensors:
  16. if not f_s["ending_date"]:
  17. continue
  18.  
  19. if prev_starting_date:
  20. delta_days = abs((prev_starting_date - f_s["ending_date"]).days)
  21. if delta_days < 28:
  22. print(f_s["starting_date"])
  23. print(max_end_date)
  24. print('----')
  25. print(f_s["ending_date"])
  26. print(min_start_date)
  27. print('----')
  28. # print(f_s["starting_date"] <= max_end_date and min_start_date <= f_s["ending_date"])
  29. # if f_s["starting_date"] <= max_end_date and min_start_date <= f_s["ending_date"]:
  30. if f_s["starting_date"] < min_start_date:
  31. min_start_date = f_s["starting_date"]
  32.  
  33. if f_s["ending_date"] > max_end_date:
  34. max_end_date = f_s["ending_date"]
  35.  
  36. prev_starting_date = f_s["starting_date"]
  37.  
  38. print(min_start_date)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement