gistools/readers/gtfs/utils.rs
1use crate::util::Date;
2
3/// Convenience method to parse a GTFS date (YYYYMMDD) into a JavaScript Date.
4/// Because GTFS dates do not contain timezone info, this function treats them as local dates.
5///
6/// ## Parameters
7/// - `yyyymmdd`: A string in the format YYYYMMDD
8///
9/// ## Returns
10/// A JavaScript Date object
11pub fn parse_gtfs_date(yyyymmdd: &str) -> Option<Date> {
12 let year = yyyymmdd[0..4].parse::<u16>().ok()?;
13 let month = yyyymmdd[4..6].parse::<u8>().ok()? - 1; // zero-based
14 let day = yyyymmdd[6..8].parse::<u8>().ok()?;
15
16 Some(Date::new(year, month, day))
17}