---
name: "MooseX::Types::DateTime"
section: "3pm"
platform: "linux"
package: "libmoosex-types-datetime-perl"
version: "0.13-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/MooseX::Types::DateTime"
---

# MooseX::Types::DateTime(3pm)

DateTime related constraints and coercions for Moose

## NAME

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

## VERSION

version 0.13

## SYNOPSIS

Export Example:

```
    use MooseX::Types::DateTime qw(TimeZone);
    has time_zone => (
        isa => 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.

Namespaced Example:

```
    use MooseX::Types::DateTime;
    has time_zone => (
        isa => 'DateTime::TimeZone',
        is => "rw",
        coerce => 1,
    );
    Class->new( time_zone => "Africa/Timbuktu" );
```

## CONSTRAINTS

- DateTime

  A class type for DateTime.

  - from "Num"

    Uses "from\_epoch" in DateTime. Floating values will be used for sub-second precision, 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::DateTime::MoreCoercions

DateTime, DateTimeX::Easy

## SUPPORT

Bugs may be submitted through the RT bug tracker \<https://rt.cpan.org/Public/Dist/Display.html?Name=MooseX-Types-DateTime\> (or bug-MooseX-Types-DateTime@rt.cpan.org \<mailto:bug-MooseX-Types-DateTime@rt.cpan.org\>).

There is also a mailing list available for users of this distribution, at \<http://lists.perl.org/list/moose.html\>.

There is also an irc channel available for users of this distribution, at irc://irc.perl.org/#moose.

## AUTHOR

XXXX XXX'XX (Yuval Kogman) \<nothingmuch@woobling.org\>

## CONTRIBUTORS

- •

  Karen Etheridge \<ether@cpan.org\>

- •

  Dagfinn Ilmari Mannsaaker \<ilmari@ilmari.org\>

- •

  Florian Ragwitz \<rafl@debian.org\>

- •

  John Napiorkowski \<jjnapiork@cpan.org\>

- •

  Shawn M Moore \<sartak@gmail.com\>

- •

  Dave Rolsky \<autarch@urth.org\>

## COPYRIGHT AND LICENCE

This software is copyright (c) 2008 by XXXX XXX'XX (Yuval Kogman).

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
