use chrono::{NaiveDate, Duration};
fn generate_dates(start: NaiveDate, end: NaiveDate) -> Vec<NaiveDate> {
let mut dates = Vec::new();
if start > end {
return dates; // empty
}
let mut current = start;
while current <= end {
dates.push(current);
current = current + Duration::days(1);
}
dates
}
fn main() {
let start = NaiveDate::from_ymd_opt(2026, 1, 3).unwrap();
let end = NaiveDate::from_ymd_opt(2026, 1, 12).unwrap();
let dates = generate_dates(start, end);
println!("Generated {} dates:", dates.len());
for d in dates {
println!("{}", d.format("%Y-%m-%d"));
}
}
/*
run:
Generated 10 dates:
2026-01-03
2026-01-04
2026-01-05
2026-01-06
2026-01-07
2026-01-08
2026-01-09
2026-01-10
2026-01-11
2026-01-12
*/