diff options
author | Jim Meyering <jim@meyering.net> | 1996-12-01 19:15:03 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 1996-12-01 19:15:03 +0000 |
commit | 807b8b05c2accef44976e321f0481db7f716b8fa (patch) | |
tree | a1752e43d25bbdf65233c1f926d1a035fcb4f1a8 /lib | |
parent | 5f3fa7a28492d67d2e53cc89883a8c75a584a8c8 (diff) | |
download | coreutils-807b8b05c2accef44976e321f0481db7f716b8fa.tar.xz |
(date): Interpret the date, L/M/N, as YYYY/MM/DD
if L >= 1000, otherwise as MM/DD/YY. With this change,
date --date=DATE accepts dates like those in an RCS log listing.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/getdate.y | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/lib/getdate.y b/lib/getdate.y index 6988604dd..8e35c9203 100644 --- a/lib/getdate.y +++ b/lib/getdate.y @@ -312,9 +312,22 @@ date : tUNUMBER '/' tUNUMBER { yyDay = $3; } | tUNUMBER '/' tUNUMBER '/' tUNUMBER { - yyMonth = $1; - yyDay = $3; - yyYear = $5; + /* Interpret as YYYY/MM/DD if $1 >= 1000, otherwise as MM/DD/YY. + The goal in recognizing YYYY/MM/DD is solely to support legacy + machine-generated dates like those in an RCS log listing. If + you want portability, use the ISO 8601 format. */ + if ($1 >= 1000) + { + yyYear = $1; + yyMonth = $3; + yyDay = $5; + } + else + { + yyMonth = $1; + yyDay = $3; + yyYear = $5; + } } | tUNUMBER tSNUMBER tSNUMBER { /* ISO 8601 format. yyyy-mm-dd. */ |