date_parse - date-parsing routine and apps

Fetch the software.

For a while now I've been somewhat unhappy with the various date-parsing routines available - yacc-based, lex-based, ad-hoc. Large code size and not very portable are the main complaints. So I wrote a new one that just does a bunch of sscanf's until one matches. Slow, but small and portable. To figure out what formats to support I did a survey of Date: lines in a bunch of Usenet articles. The following two formats accounted for more than 99% of all articles:

DD mth YY HH:MM:SS ampm zone
wdy, DD mth YY HH:MM:SS ampm zone
I added Unix ctime() format and a few others:
wdy mth DD HH:MM:SS ampm zone YY
HH:MM:SS ampm zone DD mth YY
DD mth YY
HH:MM:SS ampm
No-zone, no-seconds, and no-am/pm versions of each are also supported. Note that dd/mm/yy and mm/dd/yy are NOT supported - those formats are dumb.

Aside from the date-parsing routine, this package includes some programs that exercise it:

See the manual entries for more details. For some sample runs of the timegraph command, check out the ACME Labs web stats page.


Back to ACME Labs Software.
Back to ACME Labs.