Lines Matching defs:Date

6 pub struct Date(u32);
8 impl Date {
15 /// use version_check::Date;
17 /// match Date::read() {
22 pub fn read() -> Option<Date> {
25 .and_then(|date| Date::parse(&date))
34 /// use version_check::Date;
36 /// let date = Date::parse("2016-04-20").unwrap();
42 /// assert!(Date::parse("2021-12-31").unwrap().exactly("2021-12-31"));
44 /// assert!(Date::parse("March 13, 2018").is_none());
45 /// assert!(Date::parse("1-2-3-4-5").is_none());
46 /// assert!(Date::parse("2020-300-23120").is_none());
47 /// assert!(Date::parse("2020-12-12 1").is_none());
48 /// assert!(Date::parse("2020-10").is_none());
49 /// assert!(Date::parse("2020").is_none());
51 pub fn parse(date: &str) -> Option<Date> {
65 Some(Date::from_ymd(year, month as u8, day as u8))
68 /// Creates a `Date` from `(year, month, day)` date components.
77 /// use version_check::Date;
79 /// assert!(Date::from_ymd(2021, 7, 30).exactly("2021-07-30"));
80 /// assert!(Date::from_ymd(2010, 3, 23).exactly("2010-03-23"));
81 /// assert!(Date::from_ymd(2090, 1, 31).exactly("2090-01-31"));
84 /// assert!(Date::from_ymd(2090, 1, 33).exactly("2090-01-01"));
86 pub fn from_ymd(year: u16, month: u8, day: u8) -> Date {
90 Date(year | month | day)
109 /// use version_check::Date;
111 /// let date = Date::parse("2020-01-01").unwrap();
121 Date::parse(date)
134 /// use version_check::Date;
136 /// let date = Date::parse("2020-01-01").unwrap();
146 Date::parse(date)
159 /// use version_check::Date;
161 /// let date = Date::parse("2020-01-01").unwrap();
171 Date::parse(date)
177 impl fmt::Display for Date {
186 use super::Date;
190 assert_eq!(Date::parse($string).unwrap().to_string(), $string);