in reply to Date conversion in perl?
unpack and POSIX's strftime can do the trick.
use POSIX qw( strftime ); my ($y,$m,$d) = unpack( 'A4 A2 A2', '20100302165019' ); print( uc( strftime( "%d-%b-%y", 0,0,0, $d,$m-1,$y ) ), "\n" );
Well, %b isn't guaranteed to return the months in English, so you might want to create a lookup table instead of using strftime.
my @months = qw( JAN FEB MAR ... DEC ); my ($y,$m,$d) = unpack( 'A4 A2 A2', '20100302165019' ); print( sprintf( "%02d-%s-%02d", $d, $months[$m-1], $y-2000 ), "\n" );
print and sprintf can be combined using printf.
Update: Added lookup table solution.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
| A reply falls below the community's threshold of quality. You may see it by logging in. |