#14123 Overwriting default date format to make it more consistent.

This commit is contained in:
RobbingDaHood 2024-12-09 17:52:54 +01:00
parent 685dc78739
commit f33ab30d13

View File

@ -1,17 +1,27 @@
use chrono::{DateTime, FixedOffset, Local, LocalResult, TimeZone};
use nu_protocol::{record, ShellError, Span, Value};
use std::collections::HashMap;
pub(crate) fn parse_date_from_string(
input: &str,
span: Span,
) -> Result<DateTime<FixedOffset>, Value> {
match dtparse::parse(input) {
Ok((native_dt, fixed_offset)) => {
let offset = match fixed_offset {
match dtparse::Parser::default().parse(
input,
Some(true),
Some(true),
false,
false,
None,
false,
&HashMap::new(),
) {
Ok(result) => {
let offset = match result.1 {
Some(offset) => offset,
None => *(Local::now().offset()),
};
match offset.from_local_datetime(&native_dt) {
match offset.from_local_datetime(&result.0) {
LocalResult::Single(d) => Ok(d),
LocalResult::Ambiguous(d, _) => Ok(d),
LocalResult::None => Err(Value::error(