RFCs 2822 and 822 specify date formats to be used by email. This module
parses and emits such dates.
RFC2822 (April 2001) introduces a slightly different format of date than
that used by RFC822 (August 1982). The main correction is that the
preferred format is more limited, and thus easier to parse
Despite the ease of generating and parsing perfectly valid RFC822 and
RFC2822 people still get it wrong. So this module provides four things for
those handling mail dates:
A strict parser that will only accept RFC2822 dates, so you can see where
A strict formatter, so you can generate the right stuff to begin with.
A _loose_ parser, so you can take the misbegotten output from other
programs and turn it into something useful. This includes various minor
errors as well as some somewhat more bizarre mistakes. The file
_t/sample_dates_ in this module's distribution should give you an idea of
what's valid, while _t/invalid.t_ should do the same for what's not. Those
regarded as invalid are just a bit *too* strange to allow.
Interoperation with the rest of the DateTime suite. These are a collection
of modules to handle dates in a modern and accurate fashion. In particular,
they make it trivial to parse, manipulate and then format dates. Shifting
timezones is a doddle, and converting between formats is a cinch.
As a future direction, I'm contemplating an even stricter parser that will
only accept dates with no obsolete elements.