find: Calendar date items
6.2 Calendar date items
=======================
A "calendar date item" specifies a day of the year. It is specified
differently, depending on whether the month is specified numerically or
literally. All these strings specify the same calendar date:
2020-07-20 # ISO 8601.
20-7-20 # Assume 19xx for 69 through 99,
# 20xx for 00 through 68 (not recommended).
7/20/2020 # Common U.S. writing.
20 July 2020
20 Jul 2020 # Three-letter abbreviations always allowed.
Jul 20, 2020
20-jul-2020
20jul2020
The year can also be omitted. In this case, the last specified year
is used, or the current year if none. For example:
7/20
jul 20
Here are the rules.
For numeric months, the ISO 8601 format 'YEAR-MONTH-DAY' is allowed,
where YEAR is any positive number, MONTH is a number between 01 and 12,
and DAY is a number between 01 and 31. A leading zero must be present
if a number is less than ten. If YEAR is 68 or smaller, then 2000 is
added to it; otherwise, if YEAR is less than 100, then 1900 is added to
it. The construct 'MONTH/DAY/YEAR', popular in the United States, is
accepted. Also 'MONTH/DAY', omitting the year.
Literal months may be spelled out in full: 'January', 'February',
'March', 'April', 'May', 'June', 'July', 'August', 'September',
'October', 'November' or 'December'. Literal months may be abbreviated
to their first three letters, possibly followed by an abbreviating dot.
It is also permitted to write 'Sept' instead of 'September'.
When months are written literally, the calendar date may be given as
any of the following:
DAY MONTH YEAR
DAY MONTH
MONTH DAY YEAR
DAY-MONTH-YEAR
Or, omitting the year:
MONTH DAY