1. from datetime import datetime, timedelta
  2. def prepare_date_values(start_date, end_date, interval_days=1):
  3. """
  4. Generates a list of date strings for batch processing.
  5. Args:
  6. start_date (str): Start date in 'YYYY-MM-DD' format.
  7. end_date (str): End date in 'YYYY-MM-DD' format.
  8. interval_days (int): The interval between dates in days.
  9. Returns:
  10. list: A list of date strings in 'YYYY-MM-DD' format.
  11. """
  12. start = datetime.strptime(start_date, '%Y-%m-%d')
  13. end = datetime.strptime(end_date, '%Y-%m-%d')
  14. if start > end:
  15. raise ValueError("Start date cannot be after end date.")
  16. date_values = []
  17. current_date = start
  18. while current_date <= end:
  19. date_values.append(current_date.strftime('%Y-%m-%d'))
  20. current_date += timedelta(days=interval_days)
  21. return date_values
  22. if __name__ == '__main__':
  23. start_date = '2023-01-01'
  24. end_date = '2023-01-05'
  25. interval = 1
  26. date_list = prepare_date_values(start_date, end_date, interval)
  27. print(date_list)

Add your comment