mirror of
https://github.com/nushell/nushell.git
synced 2025-01-03 04:50:28 +01:00
#14123 Overwriting default date format to make it more consistent.
This commit is contained in:
parent
685dc78739
commit
f33ab30d13
@ -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(
|
||||
|
Loading…
Reference in New Issue
Block a user