NAME
    MooseX::Types::DateTime - DateTime related constraints and coercions for
    Moose

SYNOPSIS
    Export Example:

            use MooseX::Types::DateTime qw(TimeZone);

        has time_zone => (
            isa => TimeZone,
            is => "rw",
            coerce => 1,
        );

        Class->new( time_zone => "Africa/Timbuktu" );

    Namespaced Example:

            use MooseX::Types::DateTime;

        has time_zone => (
            isa => 'DateTime::TimeZone',
            is => "rw",
            coerce => 1,
        );

        Class->new( time_zone => "Africa/Timbuktu" );

DESCRIPTION
    This module packages several Moose::Util::TypeConstraints with
    coercions, designed to work with the DateTime suite of objects.

CONSTRAINTS
    DateTime
        A class type for DateTime.

        from "Num"
            Uses "from_epoch" in DateTime. Floating values will be used for
            subsecond percision, see DateTime for details.

        from "HashRef"
            Calls "new" in DateTime with the hash entries as arguments.

    Duration
        A class type for DateTime::Duration

        from "Num"
            Uses "new" in DateTime::Duration and passes the number as the
            "seconds" argument.

            Note that due to leap seconds, DST changes etc this may not do
            what you expect. For instance passing in 86400 is not always
            equivalent to one day, although there are that many seconds in a
            day. See "How Date Math is Done" in DateTime for more details.

        from "HashRef"
            Calls "new" in DateTime::Duration with the hash entries as
            arguments.

    DateTime::Locale
        A class type for DateTime::Locale::root with the name
        DateTime::Locale.

        from "Str"
            The string is treated as a language tag (e.g. "en" or "he_IL")
            and given to "load" in DateTime::Locale.

        from Locale::Maktext
            The "Locale::Maketext/language_tag" attribute will be used with
            "load" in DateTime::Locale.

        DateTime::TimeZone
            A class type for DateTime::TimeZone.

            from "Str"
                Treated as a time zone name or offset. See "USAGE" in
                DateTime::TimeZone for more details on the allowed values.

                Delegates to "new" in DateTime::TimeZone with the string as
                the "name" argument.

SEE ALSO
    MooseX::Types::DateTimeX

    DateTime, DateTimeX::Easy

VERSION CONTROL
    This module is maintained using git. You can get the latest version from
    <git://github.com/nothingmuch/moosex-types-datetime.git>.

AUTHOR
    Yuval Kogman <nothingmuch@woobling.org>

    John Napiorkowski <jjn1056 at yahoo.com>

COPYRIGHT
            Copyright (c) 2008 Yuval Kogman. All rights reserved
            This program is free software; you can redistribute
            it and/or modify it under the same terms as Perl itself.

