Astro::App::Satpass2::ParseTime::Date::Manip::v6 - Astro::App::Satpass2 wrapper for Date::Manip v6 or greater
No user-serviceable parts inside.
This class wraps the Date::Manip::Date object from Date::Manip version 6.0 or higher, and uses it to parse dates. It ignores the perltime mechanism.
perltime
Caveat: the Date::Manip configuration mechanism (used to set the time zone) reports errors using the warn built-in, rather than by returning a bad status or throwing an exception. Yes, I could use the $SIG{__WARN__} hook to trap this, but I would rather hope that Mr. Beck will provide a more friendly mechanism.
warn
$SIG{__WARN__}
This class supports the following public methods over and above those documented in its superclass Astro::App::Satpass2::ParseTime.
my $error_string = $pt->dmd_err();
This method wraps the Date::Manip::Date object's err() method, and returns whatever that method returns.
my $zone_name = $pt->dmd_zone();
This method wraps the Date::Manip::TZ object's zone() method, calling it in scalar context to get the default zone name, and returning the result.
Note that unlike the inherited tz() method, this is an accessor only, and, it is possible that $pt->dmd_zone() will not return the same thing that $pt->tz() does. For example,
tz()
$pt->dmd_zone()
$pt->tz()
$pt->tz( 'EST5EDT' ); print '$pt->tz(): ', $pt->tz(), "\n"; print '$pt->dmd_zone(): ', $pt->dmd_zone(), "\n";
prints
$pt->tz(): EST5EDT $pt->dmd_zone(): America/New_York
This is because $pt->tz() returns the last setting, whereas $pt->dmd_zone() returns the name of the time zone in the Olson zoneinfo database, which is typically something like Continent/City, even though the time zone was set using an alias, abbreviation or offset. See Date::Manip::TZ for the gory details.
Continent/City
Another difference is the if the time zone has never been set, $pt->tz() will return undef, whereas $pt->dmd_zone() will actually return the name of the default zone.
undef
Support is by the author. Please file bug reports at http://rt.cpan.org, or in electronic mail to the author.
Thomas R. Wyant, III wyant at cpan dot org
Copyright (C) 2009-2015 by Thomas R. Wyant, III
This program is free software; you can redistribute it and/or modify it under the same terms as Perl 5.10.0. For more details, see the full text of the licenses in the directory LICENSES.
This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.
To install Astro::App::Satpass2, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Astro::App::Satpass2
CPAN shell
perl -MCPAN -e shell install Astro::App::Satpass2
For more information on module installation, please visit the detailed CPAN module installation guide.