use alloc::string::String;
use core::str::FromStr;
use crate::{parsers, Date, Time};
#[derive(Eq, PartialEq, Debug, Copy, Clone, Default)]
pub struct DateTime {
pub date: Date,
pub time: Time,
}
impl FromStr for DateTime {
type Err = String;
fn from_str(s: &str) -> Result<Self, Self::Err> {
datetime(s)
}
}
pub fn datetime(string: &str) -> Result<DateTime, String> {
if let Ok((_left_overs, parsed)) = parsers::parse_datetime(string.as_bytes()) {
Ok(parsed)
} else {
Err(format!("Failed to parse datetime: {}", string))
}
}