//! Utility functions. pub use time_core::util::{days_in_year, is_leap_year, weeks_in_year}; use crate::Month; /// Whether to adjust the date, and in which direction. Useful when implementing arithmetic. pub(crate) enum DateAdjustment { /// The previous day should be used. Previous, /// The next day should be used. Next, /// The date should be used as-is. None, } /// Get the number of days in the month of a given year. /// /// ```rust /// # use time::{Month, util}; /// assert_eq!(util::days_in_year_month(2020, Month::February), 29); /// ``` pub const fn days_in_year_month(year: i32, month: Month) -> u8 { use Month::*; match month { January | March | May | July | August | October | December => 31, April | June | September | November => 30, February if is_leap_year(year) => 29, February => 28, } }