The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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 (or 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

יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>

CONTRIBUTORS

  • Karen Etheridge <ether@cpan.org>

  • Dagfinn Ilmari Mannsåker <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 יובל קוג'מן (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.