DynGig-Util

 view release on metacpan or  search on metacpan

lib/DynGig/Util/Time.pm  view on Meta::CPAN

 $time = DynGig::Util::Time->epoch( '09:12', 'America/Los_Angeles' );

=cut
sub epoch
{
    my ( $class, $time, $zone ) = @_;

    return $1 ? time + $time : $time if $time =~ /^([+-]?)\d+(?:\.\d+)?$/;

    my $range = DynGig::Range::Time::Date
        ->setenv( timezone => $zone )->new( $time );

    return $class->delta_epoch( delta => $time ) if $range->empty();
    return $range->abs()->min() if $range->rel()->empty();

    $time = DateTime->now();
    $time->set_time_zone( $zone ) if defined $zone;

    $time->set( DynGig::Range::Time::Date->sec2hms( $range->rel()->min() ) )
        ->epoch();
}



( run in 0.691 second using v1.01-cache-2.11-cpan-3989ada0592 )