Function parse_timestamp

Source
pub fn parse_timestamp<'s>(
    s: &'s str,
    lenient_trailing_chars: bool,
) -> Result<TimeStamp, DateTimeParseError>
Expand description

Parse an HL7 timestamp in the format: YYYY[MM[DD[HH[MM[SS[.S[S[S[S]]]]]]]]][+/-ZZZZ]

§Arguments

  • s - The string to parse
  • lenient_trailing_chars - If true, allow trailing characters after the timestamp, otherwise throw an error

§Example

use hl7_parser::datetime::{parse_timestamp, TimeStamp, TimeStampOffset};

let ts: TimeStamp = parse_timestamp("20230312195905.1234-0700", false).expect("can parse timestamp");

assert_eq!(ts.year, 2023);
assert_eq!(ts.month, Some(3));
assert_eq!(ts.day, Some(12));
assert_eq!(ts.hour, Some(19));
assert_eq!(ts.minute, Some(59));
assert_eq!(ts.second, Some(5));
assert_eq!(ts.microsecond, Some(123_400));
assert_eq!(ts.offset, Some(TimeStampOffset {
    hours: -7,
    minutes: 0,
}));