coreutils
coreutils copied to clipboard
date: date setting format error
The coreutils version currently uses the parse_datetime
crate to parse the date source which parses in YYYYMMDDHHMM
and similar formats. However it is not compliant with date
:
Usage: date [OPTION]... [+FORMAT]
or: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Display date and time in the given FORMAT.
With -s, or with [MMDDhhmm[[CC]YY][.ss]], set the date and time.
GNU:
$ date 11111111
Mon 11 Nov 2024 11:11:00 AEDT
coreutils
$ cargo run --release -p uu_date -- 11111111
target/release/date: invalid date '11111111'
Since it is interpreting the first 1111
as the year.
Note: date -s STRING
is compliant with GNU the version, only the positional argument format is affected.
So from what I investigated, the program fails on this part of the code
I am not sure of what I say, but it looks like our implementation only supports
date [OPTION]... [+FORMAT]
and not
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
because the reason the program fails is that there is no +
at the start of our 11111111
string.
So we'd need to fix that.
I also note that the +%
format fails on coreutils, while it only prints a % in GNU.
I'm working on a date format fix here: https://github.com/uutils/coreutils/pull/6667/