pub fn parse_date(input: &str) -> Result<NaiveDate>Expand description
Parses a date from either natural language or YYYY-MM-DD format.
§Supported formats
Natural language:
today,tomorrow,yesterdayin N days(e.g.,in 3 days)in N weeks(e.g.,in 2 weeks)in N months(e.g.,in 1 month)monday,next friday,next mondayjan 15,march 20,december 25
Strict format:
YYYY-MM-DD(e.g.,2026-02-20)
§Errors
Returns a descriptive error if the input cannot be parsed in any supported format, listing examples to guide the user.
§Examples
use rustodo::date_parser::parse_date;
let date = parse_date("tomorrow").unwrap();
let date = parse_date("next friday").unwrap();
let date = parse_date("in 3 days").unwrap();
let date = parse_date("in 2 weeks").unwrap();
let date = parse_date("in 1 month").unwrap();
let date = parse_date("2026-02-20").unwrap();