Astro-App-Satpass2
view release on metacpan or search on metacpan
lib/Astro/App/Satpass2/ParseTime/Date/Manip/v6.pm view on Meta::CPAN
package Astro::App::Satpass2::ParseTime::Date::Manip::v6;
use strict;
use warnings;
use Astro::Coord::ECI::Utils 0.112 qw{ looks_like_number };
use parent qw{ Astro::App::Satpass2::ParseTime::Date::Manip };
use Astro::App::Satpass2::Utils qw{ load_package @CARP_NOT };
our $VERSION = '0.057';
my $invalid;
BEGIN {
eval {
load_package( 'Date::Manip' )
or return;
load_package( 'Date::Manip::Date' )
or return;
my $ver = Date::Manip->VERSION();
$ver =~ s/ _ //smxg;
$ver >= 6
and do {
Date::Manip->import();
1;
}
or $invalid = sprintf
'%s assumes a Date::Manip version >= 6. You have %s',
__PACKAGE__, Date::Manip->VERSION();
$ver >= 6.49
and *_normalize_zone = sub {
$_[0] =~ s/ \A (?: gmt | ut ) \z /UT/smxi;
};
1;
} or $invalid = ( $@ || 'Unable to load Date::Manip' );
__PACKAGE__->can( '_normalize_zone' )
or *_normalize_zone = sub{};
}
sub delegate {
return __PACKAGE__;
}
sub dmd_err {
my ( $self ) = @_;
return $self->_get_dm_field( 'object' )->err();
}
sub dmd_zone {
my ( $self ) = @_;
return scalar $self->_get_dm_field( 'object' )->tz->zone();
}
sub parse_time_absolute {
my ( $self, $string ) = @_;
$invalid and $self->wail( $invalid );
my $dm = $self->_get_dm_field( 'object' );
$dm->parse( $string ) and return;
return $dm->secs_since_1970_GMT() - $self->__epoch_offset();
}
sub use_perltime {
return 0;
}
( run in 3.237 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )