| line | stmt | bran | cond | sub | pod | time | code | 
| 1 |  |  |  |  |  |  | package Astro::App::Satpass2::FormatTime::POSIX::Strftime; | 
| 2 |  |  |  |  |  |  |  | 
| 3 | 20 |  |  | 20 |  | 339 | use 5.008; | 
|  | 20 |  |  |  |  | 68 |  | 
| 4 |  |  |  |  |  |  |  | 
| 5 | 20 |  |  | 20 |  | 133 | use strict; | 
|  | 20 |  |  |  |  | 63 |  | 
|  | 20 |  |  |  |  | 402 |  | 
| 6 | 20 |  |  | 20 |  | 119 | use warnings; | 
|  | 20 |  |  |  |  | 43 |  | 
|  | 20 |  |  |  |  | 539 |  | 
| 7 |  |  |  |  |  |  |  | 
| 8 | 20 |  |  | 20 |  | 120 | use parent qw{ Astro::App::Satpass2::FormatTime }; | 
|  | 20 |  |  |  |  | 52 |  | 
|  | 20 |  |  |  |  | 91 |  | 
| 9 |  |  |  |  |  |  |  | 
| 10 | 20 |  |  | 20 |  | 10270 | use Astro::App::Satpass2::FormatTime::Strftime; | 
|  | 20 |  |  |  |  | 64 |  | 
|  | 20 |  |  |  |  | 1287 |  | 
| 11 | 20 |  |  | 20 |  | 135 | use Astro::App::Satpass2::Utils qw{ ARRAY_REF @CARP_NOT }; | 
|  | 20 |  |  |  |  | 46 |  | 
|  | 20 |  |  |  |  | 1570 |  | 
| 12 | 20 |  |  | 20 |  | 158 | use POSIX (); | 
|  | 20 |  |  |  |  | 49 |  | 
|  | 20 |  |  |  |  | 8628 |  | 
| 13 |  |  |  |  |  |  |  | 
| 14 |  |  |  |  |  |  | our $VERSION = '0.051_01'; | 
| 15 |  |  |  |  |  |  |  | 
| 16 |  |  |  |  |  |  | sub format_datetime { | 
| 17 | 618 |  |  | 618 | 1 | 1390 | my ( $self, $tplt, $time, $gmt ) = @_; | 
| 18 | 618 |  |  |  |  | 1507 | $time = $self->__round_time_value( $time ); | 
| 19 | 618 | 100 |  |  |  | 2169 | defined $gmt or $gmt = $self->gmt(); | 
| 20 | 618 |  |  |  |  | 1046 | my @parts; | 
| 21 | 618 | 100 |  |  |  | 1641 | if ( ARRAY_REF eq ref $time ) { | 
|  |  | 50 |  |  |  |  |  | 
| 22 | 330 |  |  |  |  | 483 | @parts = @{ $time }; | 
|  | 330 |  |  |  |  | 749 |  | 
| 23 |  |  |  |  |  |  | } elsif ( $gmt ) { | 
| 24 | 288 |  |  |  |  | 1327 | @parts = gmtime $time; | 
| 25 |  |  |  |  |  |  | } else { | 
| 26 | 0 |  |  |  |  | 0 | my $tz = $self->tz(); | 
| 27 |  |  |  |  |  |  | defined $tz | 
| 28 |  |  |  |  |  |  | and $tz ne '' | 
| 29 | 0 | 0 | 0 |  |  | 0 | and local $ENV{TZ} = $tz; | 
| 30 | 0 |  |  |  |  | 0 | @parts = localtime $time; | 
| 31 |  |  |  |  |  |  | } | 
| 32 | 618 |  |  |  |  | 23856 | return POSIX::strftime( $tplt, @parts ); | 
| 33 |  |  |  |  |  |  | } | 
| 34 |  |  |  |  |  |  |  | 
| 35 |  |  |  |  |  |  | { | 
| 36 |  |  |  |  |  |  | my %adjuster = ( | 
| 37 |  |  |  |  |  |  | year	=> sub { $_[0][5] = $_[1] - 1900; return }, | 
| 38 |  |  |  |  |  |  | month	=> sub { $_[0][4] = $_[1] - 1; return }, | 
| 39 |  |  |  |  |  |  | day	=> sub { $_[0][3] = $_[1]; return }, | 
| 40 |  |  |  |  |  |  | hour	=> sub { $_[0][2] = $_[1]; return }, | 
| 41 |  |  |  |  |  |  | minute	=> sub { $_[0][1] = $_[1]; return }, | 
| 42 |  |  |  |  |  |  | second	=> sub { $_[0][0] = $_[1]; return }, | 
| 43 |  |  |  |  |  |  | ); | 
| 44 |  |  |  |  |  |  |  | 
| 45 |  |  |  |  |  |  | sub __format_datetime_width_adjust_object { | 
| 46 | 390 |  |  | 390 |  | 840 | my ( undef, $obj, $name, $val ) = @_;	# Invocant unused | 
| 47 | 390 | 100 |  |  |  | 872 | $obj or $obj = [ 0, 0, 0, 1, 0, 200 ]; | 
| 48 | 390 |  |  |  |  | 1139 | $adjuster{$name}->( $obj, $val ); | 
| 49 | 390 |  |  |  |  | 850 | return $obj; | 
| 50 |  |  |  |  |  |  | } | 
| 51 |  |  |  |  |  |  |  | 
| 52 |  |  |  |  |  |  | } | 
| 53 |  |  |  |  |  |  |  | 
| 54 |  |  |  |  |  |  | 1; | 
| 55 |  |  |  |  |  |  |  | 
| 56 |  |  |  |  |  |  | __END__ |