From d4c012ddd14daefe1372c9118d8cc364f08073d0 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Mon, 21 Mar 2022 18:20:06 -0400 Subject: formats: Add formats with "%a." and "%b." --- diff --git a/TODO b/TODO index d4b721a..80653a8 100644 --- a/TODO +++ b/TODO @@ -3,7 +3,6 @@ spaces between specifiers in strptime() formats -- strftime()? parsing: copy format one char at a time, changing placeholder to space test with other libc's (newlib? musl? fbsd? obsd?) `./@ 7:00 PM` doesn't work with musl strptime() -add formats with "%a." and "%b." update formats in README (or move to another file?) test other times gettext? diff --git a/src/formats.h b/src/formats.h index a2ae5e7..1dae905 100644 --- a/src/formats.h +++ b/src/formats.h @@ -24,6 +24,7 @@ * to be of equal lengths */ static const char *FORMATS_DATE[] = { " %a ", /* Wed */ + " %a. ", /* Wed. */ " %Y-%m-%d ", /* 1969-12-31 */ " %Y/%m/%d ", /* 1969/12/31 */ " %Y.%m.%d ", /* 1969.12.31 */ @@ -34,37 +35,65 @@ static const char *FORMATS_DATE[] = { " %m.%d.%Y ", /* 12.31.1969 */ " %m.%d ", /* 12.31 */ " %e %b %Y ", /* 31 Dec 1969 */ + " %e %b. %Y ", /* 31 Dec. 1969 */ " %e %b ", /* 31 Dec */ + " %e %b. ", /* 31 Dec. */ " %d-%b-%Y ", /* 31-Dec-1969 */ " %d-%b ", /* 31-Dec */ " %d/%b/%Y ", /* 31/Dec/1969 */ " %d/%b ", /* 31/Dec */ " %a %e %b %Y ", /* Wed 31 Dec 1969 */ + " %a %e %b. %Y ", /* Wed 31 Dec. 1969 */ " %a %e %b ", /* Wed 31 Dec */ + " %a %e %b. ", /* Wed 31 Dec. */ " %a %d-%b-%Y ", /* Wed 31-Dec-1969 */ " %a %d-%b ", /* Wed 31-Dec */ " %a %d/%b/%Y ", /* Wed 31/Dec/1969 */ " %a %d/%b ", /* Wed 31/Dec */ + " %a. %e %b %Y ", /* Wed. 31 Dec 1969 */ + " %a. %e %b. %Y ", /* Wed. 31 Dec. 1969 */ + " %a. %e %b ", /* Wed. 31 Dec */ + " %a. %e %b. ", /* Wed. 31 Dec. */ + " %a. %d-%b-%Y ", /* Wed. 31-Dec-1969 */ + " %a. %d-%b ", /* Wed. 31-Dec */ + " %a. %d/%b/%Y ", /* Wed. 31/Dec/1969 */ + " %a. %d/%b ", /* Wed. 31/Dec */ " %a, %e %b %Y ", /* Wed, 31 Dec 1969 */ + " %a, %e %b. %Y ", /* Wed, 31 Dec. 1969 */ " %a, %e %b ", /* Wed, 31 Dec */ + " %a, %e %b. ", /* Wed, 31 Dec. */ " %a, %d-%b-%Y ", /* Wed, 31-Dec-1969 */ " %a, %d-%b ", /* Wed, 31-Dec */ " %a, %d/%b/%Y ", /* Wed, 31/Dec/1969 */ " %a, %d/%b ", /* Wed, 31/Dec */ " %b %e, %Y ", /* Dec 31, 1969 */ + " %b. %e, %Y ", /* Dec. 31, 1969 */ " %b %e ", /* Dec 31 */ + " %b. %e ", /* Dec. 31 */ " %b-%d-%Y ", /* Dec-31-1969 */ " %b-%d ", /* Dec-31 */ " %b/%d/%Y ", /* Dec/31/1969 */ " %b/%d ", /* Dec/31 */ " %a %b %e, %Y ", /* Wed Dec 31, 1969 */ + " %a %b. %e, %Y ", /* Wed Dec. 31, 1969 */ " %a %b %e ", /* Wed Dec 31 */ + " %a %b. %e ", /* Wed Dec. 31 */ " %a %b-%d-%Y ", /* Wed Dec-31-1969 */ " %a %b-%d ", /* Wed Dec-31 */ " %a %b/%d/%Y ", /* Wed Dec/31/1969 */ " %a %b/%d ", /* Wed Dec/31 */ + " %a. %b %e, %Y ", /* Wed. Dec 31, 1969 */ + " %a. %b. %e, %Y ", /* Wed. Dec. 31, 1969 */ + " %a. %b %e ", /* Wed. Dec 31 */ + " %a. %b. %e ", /* Wed. Dec. 31 */ + " %a. %b-%d-%Y ", /* Wed. Dec-31-1969 */ + " %a. %b-%d ", /* Wed. Dec-31 */ + " %a. %b/%d/%Y ", /* Wed. Dec/31/1969 */ + " %a. %b/%d ", /* Wed. Dec/31 */ " %a, %b %e, %Y ", /* Wed, Dec 31, 1969 */ + " %a, %b. %e, %Y ", /* Wed, Dec. 31, 1969 */ " %a, %b %e ", /* Wed, Dec 31 */ + " %a, %b. %e ", /* Wed, Dec. 31 */ " %a, %b-%d-%Y ", /* Wed, Dec-31-1969 */ " %a, %b-%d ", /* Wed, Dec-31 */ " %a, %b/%d/%Y ", /* Wed, Dec/31/1969 */ @@ -72,25 +101,33 @@ static const char *FORMATS_DATE[] = { "", /* End of parsing formats */ " %A ", /* Wednesday */ " %A %e %b %Y ", /* Wednesday 31 Dec 1969 */ + " %A %e %b. %Y ", /* Wednesday 31 Dec. 1969 */ " %A %e %b ", /* Wednesday 31 Dec */ + " %A %e %b. ", /* Wednesday 31 Dec. */ " %A %d-%b-%Y ", /* Wednesday 31-Dec-1969 */ " %A %d-%b ", /* Wednesday 31-Dec */ " %A %d/%b/%Y ", /* Wednesday 31/Dec/1969 */ " %A %d/%b ", /* Wednesday 31/Dec */ " %A, %e %b %Y ", /* Wednesday, 31 Dec 1969 */ + " %A, %e %b. %Y ", /* Wednesday, 31 Dec. 1969 */ " %A, %e %b ", /* Wednesday, 31 Dec */ + " %A, %e %b. ", /* Wednesday, 31 Dec. */ " %A, %d-%b-%Y ", /* Wednesday, 31-Dec-1969 */ " %A, %d-%b ", /* Wednesday, 31-Dec */ " %A, %d/%b/%Y ", /* Wednesday, 31/Dec/1969 */ " %A, %d/%b ", /* Wednesday, 31/Dec */ " %A %b %e, %Y ", /* Wednesday Dec 31, 1969 */ + " %A %b. %e, %Y ", /* Wednesday Dec. 31, 1969 */ " %A %b %e ", /* Wednesday Dec 31 */ + " %A %b. %e ", /* Wednesday Dec. 31 */ " %A %b-%d-%Y ", /* Wednesday Dec-31-1969 */ " %A %b-%d ", /* Wednesday Dec-31 */ " %A %b/%d/%Y ", /* Wednesday Dec/31/1969 */ " %A %b/%d ", /* Wednesday Dec/31 */ " %A, %b %e, %Y ", /* Wednesday, Dec 31, 1969 */ + " %A, %b. %e, %Y ", /* Wednesday, Dec. 31, 1969 */ " %A, %b %e ", /* Wednesday, Dec 31 */ + " %A, %b. %e ", /* Wednesday, Dec. 31 */ " %A, %b-%d-%Y ", /* Wednesday, Dec-31-1969 */ " %A, %b-%d ", /* Wednesday, Dec-31 */ " %A, %b/%d/%Y ", /* Wednesday, Dec/31/1969 */ @@ -107,6 +144,12 @@ static const char *FORMATS_DATE[] = { " %a %d-%B ", /* Wed 31-December */ " %a %d/%B/%Y ", /* Wed 31/December/1969 */ " %a %d/%B ", /* Wed 31/December */ + " %a. %e %B %Y ", /* Wed. 31 December 1969 */ + " %a. %e %B ", /* Wed. 31 December */ + " %a. %d-%B-%Y ", /* Wed. 31-December-1969 */ + " %a. %d-%B ", /* Wed. 31-December */ + " %a. %d/%B/%Y ", /* Wed. 31/December/1969 */ + " %a. %d/%B ", /* Wed. 31/December */ " %a, %e %B %Y ", /* Wed, 31 December 1969 */ " %a, %e %B ", /* Wed, 31 December */ " %a, %d-%B-%Y ", /* Wed, 31-December-1969 */ @@ -125,6 +168,12 @@ static const char *FORMATS_DATE[] = { " %a %B-%d ", /* Wed December-31 */ " %a %B/%d/%Y ", /* Wed December/31/1969 */ " %a %B/%d ", /* Wed December/31 */ + " %a. %B %e, %Y ", /* Wed. December 31, 1969 */ + " %a. %B %e ", /* Wed. December 31 */ + " %a. %B-%d-%Y ", /* Wed. December-31-1969 */ + " %a. %B-%d ", /* Wed. December-31 */ + " %a. %B/%d/%Y ", /* Wed. December/31/1969 */ + " %a. %B/%d ", /* Wed. December/31 */ " %a, %B %e, %Y ", /* Wed, December 31, 1969 */ " %a, %B %e ", /* Wed, December 31 */ " %a, %B-%d-%Y ", /* Wed, December-31-1969 */ diff --git a/tests/formats.exp b/tests/formats.exp index 502102b..20b49c9 100644 --- a/tests/formats.exp +++ b/tests/formats.exp @@ -13,6 +13,7 @@ Time formats: * 0304 Date formats: * Fri + * Fri. * 1970-01-02 * 1970/01/02 * 1970.01.02 @@ -23,62 +24,98 @@ Date formats: * 01.02.1970 * 01.02 * 2 Jan 1970 + * 2 Jan. 1970 * 2 Jan + * 2 Jan. * 02-Jan-1970 * 02-Jan * 02/Jan/1970 * 02/Jan * Fri 2 Jan 1970 + * Fri 2 Jan. 1970 * Fri 2 Jan + * Fri 2 Jan. * Fri 02-Jan-1970 * Fri 02-Jan * Fri 02/Jan/1970 * Fri 02/Jan + * Fri. 2 Jan 1970 + * Fri. 2 Jan. 1970 + * Fri. 2 Jan + * Fri. 2 Jan. + * Fri. 02-Jan-1970 + * Fri. 02-Jan + * Fri. 02/Jan/1970 + * Fri. 02/Jan * Fri, 2 Jan 1970 + * Fri, 2 Jan. 1970 * Fri, 2 Jan + * Fri, 2 Jan. * Fri, 02-Jan-1970 * Fri, 02-Jan * Fri, 02/Jan/1970 * Fri, 02/Jan * Jan 2, 1970 + * Jan. 2, 1970 * Jan 2 + * Jan. 2 * Jan-02-1970 * Jan-02 * Jan/02/1970 * Jan/02 * Fri Jan 2, 1970 + * Fri Jan. 2, 1970 * Fri Jan 2 + * Fri Jan. 2 * Fri Jan-02-1970 * Fri Jan-02 * Fri Jan/02/1970 * Fri Jan/02 + * Fri. Jan 2, 1970 + * Fri. Jan. 2, 1970 + * Fri. Jan 2 + * Fri. Jan. 2 + * Fri. Jan-02-1970 + * Fri. Jan-02 + * Fri. Jan/02/1970 + * Fri. Jan/02 * Fri, Jan 2, 1970 + * Fri, Jan. 2, 1970 * Fri, Jan 2 + * Fri, Jan. 2 * Fri, Jan-02-1970 * Fri, Jan-02 * Fri, Jan/02/1970 * Fri, Jan/02 * Friday * Friday 2 Jan 1970 + * Friday 2 Jan. 1970 * Friday 2 Jan + * Friday 2 Jan. * Friday 02-Jan-1970 * Friday 02-Jan * Friday 02/Jan/1970 * Friday 02/Jan * Friday, 2 Jan 1970 + * Friday, 2 Jan. 1970 * Friday, 2 Jan + * Friday, 2 Jan. * Friday, 02-Jan-1970 * Friday, 02-Jan * Friday, 02/Jan/1970 * Friday, 02/Jan * Friday Jan 2, 1970 + * Friday Jan. 2, 1970 * Friday Jan 2 + * Friday Jan. 2 * Friday Jan-02-1970 * Friday Jan-02 * Friday Jan/02/1970 * Friday Jan/02 * Friday, Jan 2, 1970 + * Friday, Jan. 2, 1970 * Friday, Jan 2 + * Friday, Jan. 2 * Friday, Jan-02-1970 * Friday, Jan-02 * Friday, Jan/02/1970 @@ -95,6 +132,12 @@ Date formats: * Fri 02-January * Fri 02/January/1970 * Fri 02/January + * Fri. 2 January 1970 + * Fri. 2 January + * Fri. 02-January-1970 + * Fri. 02-January + * Fri. 02/January/1970 + * Fri. 02/January * Fri, 2 January 1970 * Fri, 2 January * Fri, 02-January-1970 @@ -113,6 +156,12 @@ Date formats: * Fri January-02 * Fri January/02/1970 * Fri January/02 + * Fri. January 2, 1970 + * Fri. January 2 + * Fri. January-02-1970 + * Fri. January-02 + * Fri. January/02/1970 + * Fri. January/02 * Fri, January 2, 1970 * Fri, January 2 * Fri, January-02-1970 -- cgit v0.9.1