Blame README

Packit Service b31dc1
NAME
Packit Service b31dc1
    DateTime::Format::HTTP - Date conversion routines
Packit Service b31dc1
Packit Service b31dc1
SYNOPSIS
Packit Service b31dc1
        use DateTime::Format::HTTP;
Packit Service b31dc1
Packit Service b31dc1
        my $class = 'DateTime::Format::HTTP';
Packit Service b31dc1
        $string = $class->format_datetime($dt); # Format as GMT ASCII time
Packit Service b31dc1
        $time = $class->parse_datetime($string); # convert ASCII date to machine time
Packit Service b31dc1
Packit Service b31dc1
DESCRIPTION
Packit Service b31dc1
    This module provides functions that deal the date formats used by the
Packit Service b31dc1
    HTTP protocol (and then some more).
Packit Service b31dc1
Packit Service b31dc1
METHODS
Packit Service b31dc1
  parse_datetime( $str [, $zone] )
Packit Service b31dc1
    The parse_datetime() function converts a string to machine time. It
Packit Service b31dc1
    throws an error if the format of $str is unrecognized, or the time is
Packit Service b31dc1
    outside the representable range. The time formats recognized are listed
Packit Service b31dc1
    below.
Packit Service b31dc1
Packit Service b31dc1
    The function also takes an optional second argument that specifies the
Packit Service b31dc1
    default time zone to use when converting the date. This parameter is
Packit Service b31dc1
    ignored if the zone is found in the date string itself. If this
Packit Service b31dc1
    parameter is missing, and the date string format does not contain any
Packit Service b31dc1
    zone specification, then the floating time zone is used.
Packit Service b31dc1
Packit Service b31dc1
    The zone should be one that is recognized by DateTime::TimeZone.
Packit Service b31dc1
Packit Service b31dc1
    Actual parsing is done with the HTTP::Date module. At the time of
Packit Service b31dc1
    writing it supports the formats listed next. Consult that module's
Packit Service b31dc1
    documentation in case the list has been changed.
Packit Service b31dc1
Packit Service b31dc1
     "Wed, 09 Feb 1994 22:23:32 GMT"       -- HTTP format
Packit Service b31dc1
     "Thu Feb  3 17:03:55 GMT 1994"        -- ctime(3) format
Packit Service b31dc1
     "Thu Feb  3 00:00:00 1994",           -- ANSI C asctime() format
Packit Service b31dc1
     "Tuesday, 08-Feb-94 14:15:29 GMT"     -- old rfc850 HTTP format
Packit Service b31dc1
     "Tuesday, 08-Feb-1994 14:15:29 GMT"   -- broken rfc850 HTTP format
Packit Service b31dc1
Packit Service b31dc1
     "03/Feb/1994:17:03:55 -0700"   -- common logfile format
Packit Service b31dc1
     "09 Feb 1994 22:23:32 GMT"     -- HTTP format (no weekday)
Packit Service b31dc1
     "08-Feb-94 14:15:29 GMT"       -- rfc850 format (no weekday)
Packit Service b31dc1
     "08-Feb-1994 14:15:29 GMT"     -- broken rfc850 format (no weekday)
Packit Service b31dc1
Packit Service b31dc1
     "1994-02-03 14:15:29 -0100"    -- ISO 8601 format
Packit Service b31dc1
     "1994-02-03 14:15:29"          -- zone is optional
Packit Service b31dc1
     "1994-02-03"                   -- only date
Packit Service b31dc1
     "1994-02-03T14:15:29"          -- Use T as separator
Packit Service b31dc1
     "19940203T141529Z"             -- ISO 8601 compact format
Packit Service b31dc1
     "19940203"                     -- only date
Packit Service b31dc1
Packit Service b31dc1
     "08-Feb-94"         -- old rfc850 HTTP format    (no weekday, no time)
Packit Service b31dc1
     "08-Feb-1994"       -- broken rfc850 HTTP format (no weekday, no time)
Packit Service b31dc1
     "09 Feb 1994"       -- proposed new HTTP format  (no weekday, no time)
Packit Service b31dc1
     "03/Feb/1994"       -- common logfile format     (no time, no offset)
Packit Service b31dc1
Packit Service b31dc1
     "Feb  3  1994"      -- Unix 'ls -l' format
Packit Service b31dc1
     "Feb  3 17:03"      -- Unix 'ls -l' format
Packit Service b31dc1
Packit Service b31dc1
     "11-15-96  03:52PM" -- Windows 'dir' format
Packit Service b31dc1
Packit Service b31dc1
    The parser ignores leading and trailing whitespace. It also allow the
Packit Service b31dc1
    seconds to be missing and the month to be numerical in most formats.
Packit Service b31dc1
Packit Service b31dc1
    If the year is missing, then we assume that the date is the first
Packit Service b31dc1
    matching date *before* current month. If the year is given with only 2
Packit Service b31dc1
    digits, then parse_date() will select the century that makes the year
Packit Service b31dc1
    closest to the current date.
Packit Service b31dc1
Packit Service b31dc1
  format_datetime()
Packit Service b31dc1
    The "format_datetime()" method converts a DateTime to a string. If the
Packit Service b31dc1
    function is called without an argument, it will use the current time.
Packit Service b31dc1
Packit Service b31dc1
    The string returned is in the format preferred for the HTTP protocol.
Packit Service b31dc1
    This is a fixed length subset of the format defined by RFC 1123,
Packit Service b31dc1
    represented in Universal Time (GMT). An example of a time stamp in this
Packit Service b31dc1
    format is:
Packit Service b31dc1
Packit Service b31dc1
       Sun, 06 Nov 1994 08:49:37 GMT
Packit Service b31dc1
Packit Service b31dc1
  format_iso( [$time] )
Packit Service b31dc1
    Same as format_datetime(), but returns a "YYYY-MM-DD hh:mm:ss"-formatted
Packit Service b31dc1
    string representing time in the local time zone. It is strongly
Packit Service b31dc1
    recommended that you use "format_isoz" or "format_datetime" instead (as
Packit Service b31dc1
    these provide time zone indication).
Packit Service b31dc1
Packit Service b31dc1
  format_isoz( [$dt] )
Packit Service b31dc1
    Same as format_iso(), but returns a "YYYY-MM-DD hh:mm:ssZ"-formatted
Packit Service b31dc1
    string representing Universal Time.
Packit Service b31dc1
Packit Service b31dc1
THANKS
Packit Service b31dc1
    Gisle Aas (GAAS) for writing HTTP::Date.
Packit Service b31dc1
Packit Service b31dc1
    Iain, for never quite finishing "HTTP::Date::XS".
Packit Service b31dc1
Packit Service b31dc1
SUPPORT
Packit Service b31dc1
    Support for this module is provided via the datetime@perl.org email
Packit Service b31dc1
    list. See http://lists.perl.org/ for more details.
Packit Service b31dc1
Packit Service b31dc1
    Alternatively, log them via the CPAN RT system via the web or email:
Packit Service b31dc1
Packit Service b31dc1
        http://rt.cpan.org/NoAuth/ReportBug.html?Queue=DateTime%3A%3AFormat%3A%3AHTTP
Packit Service b31dc1
        bug-datetime-format-http@rt.cpan.org
Packit Service b31dc1
Packit Service b31dc1
    This makes it much easier for me to track things and thus means your
Packit Service b31dc1
    problem is less likely to be neglected.
Packit Service b31dc1
Packit Service b31dc1
LICENCE AND COPYRIGHT
Packit Service b31dc1
    Copyright Iain Truskett, 2003. All rights reserved. Sections of the
Packit Service b31dc1
    documentation Gisle Aas, 1995-1999. Changes since version 0.35 copyright
Packit Service b31dc1
    David Rolsky, 2004.
Packit Service b31dc1
Packit Service b31dc1
    This library is free software; you can redistribute it and/or modify it
Packit Service b31dc1
    under the same terms as Perl itself, either Perl version 5.000 or, at
Packit Service b31dc1
    your option, any later version of Perl 5 you may have available.
Packit Service b31dc1
Packit Service b31dc1
    The full text of the licences can be found in the Artistic and COPYING
Packit Service b31dc1
    files included with this module, or in perlartistic and perlgpl as
Packit Service b31dc1
    supplied with Perl 5.8.1 and later.
Packit Service b31dc1
Packit Service b31dc1
AUTHOR
Packit Service b31dc1
    Originally written by Iain Truskett <spoon@cpan.org>, who died on
Packit Service b31dc1
    December 29, 2003.
Packit Service b31dc1
Packit Service b31dc1
    Maintained by Dave Rolsky <autarch@urth.org> and Christiaan Kras
Packit Service b31dc1
    <ckras@cpan.org>
Packit Service b31dc1
Packit Service b31dc1
SEE ALSO
Packit Service b31dc1
    "datetime@perl.org" mailing list.
Packit Service b31dc1
Packit Service b31dc1
    http://datetime.perl.org/
Packit Service b31dc1
Packit Service b31dc1
    perl, DateTime, HTTP::Date, DateTime::TimeZone.
Packit Service b31dc1