Rose::DateTime::Parser(3) DateTime parser object.

SYNOPSIS


use Rose::DateTime::Parser;
$parser = Rose::DateTime::Parser->new(time_zone => 'UTC');
$dt = $parser->parse_date('4/30/2001 8am')
or warn $parser->error;

DESCRIPTION

Rose::DateTime::Parser encapsulates a particular kind of call to Rose::DateTime::Util's parse_date and parse_european_date functions. The object maintains the desired time zone, which is then passed to each call.

This class inherits from, and follows the conventions of, Rose::Object. See the Rose::Object documentation for more information.

CONSTRUCTOR

new PARAMS
Constructs a new Rose::DateTime::Parser object based on PARAMS, where PARAMS are name/value pairs. Any object method is a valid parameter name.

OBJECT METHODS

error [ERROR]
Get or set the error message string.
european [BOOL]
Get or set a boolean value that controls how the parse_date method will interpret ``xx/xx/xxxx'' dates: either month/day/year or year/month/day.

If true, then the parse_date method will pass its arguments to Rose::DateTime::Util's parse_european_date function, which interprets such dates as ``dd/mm/yyyy''.

If false, then the parse_date method will temporarily force non-European date parsing and then call Rose::DateTime::Util's parse_date function, which will interpret the date as ``mm/dd/yyyy''.

This attribute defaults to the value returned by the Rose::DateTime::Util->european_dates class method called at the time the Rose::DateTime::Parser object is constructed.

If the BOOL argument is undefined (instead of ``false, but defined'') then the attribute will return to its default value by calling the Rose::DateTime::Util->european_dates class method again. To unambiguously set the attribute to true or false, pass a defined value like 1 or 0.

parse_date STRING
Attempt to parse STRING by passing it to Rose::DateTime::Util's parse_date or parse_european_date function. The choice is controlled by the european attribute.

If parsing is successful, the resulting DateTime object is returned. Otherwise, error is set and false is returned.

parse_datetime STRING
This method is an alias for parse_date()
parse_european_date STRING
Attempt to parse STRING by passing it to Rose::DateTime::Util's parse_european_date function (regardless of the value of the european attribute). If parsing is successful, the resulting DateTime object is returned. Otherwise, error is set and false is returned.
time_zone [STRING]
Get or set the time zone string passed to Rose::DateTime::Util's parse_date function. Defaults to the value returned by the Rose::DateTime::Util->time_zone class method.

AUTHOR

John C. Siracusa ([email protected])

LICENSE

Copyright (c) 2010 by John C. Siracusa. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.