diff --git a/crates/nu-protocol/src/value/mod.rs b/crates/nu-protocol/src/value/mod.rs index 7d6486a96..033d7690d 100644 --- a/crates/nu-protocol/src/value/mod.rs +++ b/crates/nu-protocol/src/value/mod.rs @@ -886,9 +886,7 @@ impl PartialOrd for Value { (Value::Float { val: lhs, .. }, Value::Float { val: rhs, .. }) => { compare_floats(*lhs, *rhs) } - (Value::Date { val: lhs, .. }, Value::Date { val: rhs, .. }) => { - lhs.date().to_string().partial_cmp(&rhs.date().to_string()) - } + (Value::Date { val: lhs, .. }, Value::Date { val: rhs, .. }) => lhs.partial_cmp(rhs), (Value::String { val: lhs, .. }, Value::String { val: rhs, .. }) => { lhs.partial_cmp(rhs) } diff --git a/src/tests/test_engine.rs b/src/tests/test_engine.rs index a17e7821b..5c9e1fb04 100644 --- a/src/tests/test_engine.rs +++ b/src/tests/test_engine.rs @@ -161,3 +161,8 @@ fn divide_duration() -> TestResult { fn divide_filesize() -> TestResult { run_test(r#"4mb / 4mb"#, "1") } + +#[test] +fn date_comparison() -> TestResult { + run_test(r#"(date now) < ((date now) + 2min)"#, "true") +}