Expand description
§Workdays
workdays
is a Rust library for computing work days and handling work calendars.
It provides functionality to define custom work weeks, add holidays, and compute
dates based on a given number of work days.
§Features
- Compute end dates based on work days
- Calculate the number of work days between two dates
- Parse and handle work calendar configurations (YAML or JSON)
- Support for custom work days and holidays
- Flexible weekday parsing
§Usage
Here’s a quick example:
use workdays::WorkCalendar;
use chrono::NaiveDate;
let mut calendar = WorkCalendar::new();
calendar.add_holiday(NaiveDate::from_ymd_opt(2023, 12, 25).unwrap());
calendar.set_work_days("Mon,Tue,Wed,Thu,Fri").unwrap();
let start_date = NaiveDate::from_ymd_opt(2023, 8, 21).unwrap();
let days_worked = 20;
let (end_date, calendar_duration) = calendar.compute_end_date(start_date, days_worked).unwrap();
println!("End date: {}", end_date);
println!("Calendar duration: {} days", calendar_duration.num_days());
Structs§
- Work
Calendar - Represents a work calendar with customizable work days and holidays.
Functions§
- parse_
weekday - Parses a weekday string into a
Weekday
enum.