#[cfg(feature = "chrono")]
use chrono::{DateTime, FixedOffset};
#[cfg(feature = "chrono")]
pub fn parse_datetime(input: &str) -> Result<DateTime<FixedOffset>, chrono::ParseError> {
let formats = [
"%a, %d %b %Y %H:%M:%S %z", "%d/%b/%Y:%H:%M:%S %z", "%Y-%m-%dT%H:%M:%S%z", ];
for format in &formats {
if let Ok(parsed) = DateTime::parse_from_str(input, format) {
return Ok(parsed);
}
}
if let Ok(parsed) = DateTime::parse_from_rfc3339(input) {
return Ok(parsed);
}
DateTime::parse_from_rfc2822(input)
}