How about this ?

my $in = 20020706;
my @months = ('', Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov,
Dec);
my $out =  "$months[$2] $3, $1" if ( $in =~ /(\d{4})(\d{2})(\d{2})/);

Rgds,
Connie




----- Original Message -----
From: "John W. Krahn" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Sunday, July 07, 2002 9:32 AM
Subject: Re: How to change "20020706" to "July 6, 2002"?


> Chris wrote:
> >
> > How to change "20020706" to "July 6, 2002"?
>
>
> One way:
>
> my $date = '20020706';
> my @months = qw(
>     January February March April May June July
>     August September October November December
>     );
> my ( $year, $mon, $day ) = unpack 'a4a2a2', $date;
> my $newdate = "$months{$mon - 1} " . $day + 0 . ", $year";
>
>
>
> Another way:
>
> my $date = '20020706';
> my @months = qw(
>     January February March April May June July
>     August September October November December
>     );
> my ( $year, $mon, $day ) = $date =~ /(\d{4})(\d\d)(\d\d)/;
> my $newdate = sprintf '%s %d, %d', $months{$mon - 1}, $day, $year;
>
>
>
> And another way:
>
> my $date = '20020706';
> use POSIX 'strftime';
> my $year = substr $date, 0, 4;
> my $mon  = substr $date, 4, 2;
> my $day  = substr $date, 6, 2;
> my $newdate = strftime '%B %e, %Y', ( 0, 0, 0, $day, $mon, $year );
>
>
>
>
> John
> --
> use Perl;
> program
> fulfillment
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to