NAME
    DateTime::Format::Flexible - DateTime::Format::Flexible - Flexibly parse
    strings and turn them into DateTime objects.

SYNOPSIS
      use DateTime::Format::Flexible;
      my $dt = DateTime::Format::Flexible->build( 'January 8, 1999' );
      # $dt = a DateTime object set at 1999-01-08T00:00:00

DESCRIPTION
    If you have ever had to use a program that made you type in the date a
    certain way and thought "Why can't the computer just figure out what
    date I wanted?", this module is for you.

    It attempts to take any string you give it and parse it into a DateTime
    object.

    For supported string formats, see the test file. If you can think of any
    that I do not cover, please let me know.

USAGE
    This module uses DateTime::Format::Builder under the covers. It only has
    one method (build).

  build
    my $dt = DateTime::Format::Flexible->build( $date );

    A small list of supported formats: YYYYMMDDTHHMMSS YYYYMMDDTHHMM
    YYYYMMDDTHH YYYYMMDD YYYYMM MM-DD-YYYY MM-D-YYYY MM-DD-YY M-DD-YY
    YYYY/DD/MM YYYY/M/DD YYYY/MM/D M-D MM-D M-D-Y Month D, YYYY Mon D, YYYY
    Mon D, YYYY HH:MM:SS ...

    there are 2800+ variations that are detected correctly in the test file.

BUGS
    You cannot use a 1 or 2 digit year as the first field:

     YY-MM-DD # not supported
     Y-MM-DD  # not supported

    It would get confused with MM-DD-YY

    It also prefers the US format of MM-DD over the European DD-MM.

AUTHOR
        Tom Heady
        CPAN ID: thinc
        Punch, Inc.
        cpan@punch.net
        http://www.punch.net/

COPYRIGHT
    This program is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

    The full text of the license can be found in the LICENSE file included
    with this module.

SEE ALSO
    perl(1). DateTime::Format::Builder

