diff lib/getdate.y @ 795:d72ee3438845

(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.
author Jim Meyering <jim@meyering.net>
date Sun, 01 Dec 1996 19:15:03 +0000
parents c906850e724f
children d0f53b0fb6e0
line wrap: on
line diff
--- a/lib/getdate.y
+++ b/lib/getdate.y
@@ -312,9 +312,22 @@
 	    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.  */