Expand description
§holiday-engine
Chinese statutory holiday data for 2026 (officially published) and 2027 (estimated based on lunar calendar).
Covers all 7 Chinese statutory holidays plus their adjusted work days (調休). Updated annually when the State Council releases next year’s schedule.
§The data
| Holiday | 2026 Range | Days | Notes |
|---|---|---|---|
| 元旦 New Year | Jan 1 | 1 | |
| 春节 Spring Festival | Feb 15-21 | 7 | +2 adjusted work days |
| 清明节 Qingming | Apr 5-6 | 2 | |
| 劳动节 Labour Day | May 1-5 | 5 | +1 adjusted |
| 端午节 Dragon Boat | Jun 19-21 | 3 | |
| 中秋节 Mid-Autumn | Sep 25-27* | 3 | Sep 27 overwritten by National Day adjustment |
| 国庆节 National Day | Oct 1-7 | 7 | +2 adjusted |
§Quick start
use holiday_engine::{get_china_holidays, is_naturally_off};
use chrono::NaiveDate;
let holidays = get_china_holidays();
let date = NaiveDate::from_ymd_opt(2026, 1, 1).unwrap();
assert!(is_naturally_off(date, &holidays));
// Feb 14, 2026 is a Saturday but an adjusted WORK day
let work_date = NaiveDate::from_ymd_opt(2026, 2, 14).unwrap();
assert!(!is_naturally_off(work_date, &holidays));Structs§
- Holiday
Info - Information about a holiday or adjusted work day.
Functions§
- get_
china_ holidays - Get all Chinese statutory holidays and adjusted work days.
- is_
naturally_ off - Returns
trueif the date is “naturally off”: - is_
weekend - Returns
trueif the date is a weekend (Saturday or Sunday).