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}