coreutils icon indicating copy to clipboard operation
coreutils copied to clipboard

date: date setting format error

Open my4ng opened this issue 9 months ago • 2 comments

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.

my4ng avatar May 13 '24 09:05 my4ng

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.

RenjiSann avatar May 20 '24 17:05 RenjiSann

I'm working on a date format fix here: https://github.com/uutils/coreutils/pull/6667/

dhilst avatar Aug 25 '24 11:08 dhilst