NAME
Astro::App::Satpass2::ParseTime::Date::Manip::v6 - Astro::App::Satpass2 wrapper for Date::Manip v6 or greater
SYNOPSIS
No user-serviceable parts inside.
DETAILS
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.
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.
METHODS
This class supports the following public methods over and above those documented in its superclass Astro::App::Satpass2::ParseTime.
dmd_err
my $error_string = $pt->dmd_err();
This method wraps the Date::Manip::Date object's err()
method, and returns whatever that method returns.
dmd_zone
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,
$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.
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.
SUPPORT
Support is by the author. Please file bug reports at https://rt.cpan.org, or in electronic mail to the author.
AUTHOR
Thomas R. Wyant, III wyant at cpan dot org
COPYRIGHT AND LICENSE
Copyright (C) 2009-2020 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.