#!/usr/bin/perl -l
# 08/24/06 09:30 => Thursday, August 24th 9:30am
use DateTime::Format::Strptime;
my $format_input = '%D %H:%M';
my $format_output = '%A, %B %eth %l:%M%P';
my $Strp = new DateTime::Format::Strptime(
pattern => $format_input,
locale => 'en_US',
time_zone => 'America/New_York',
);
## Start
my $date_time = '08/24/06 09:30'; # 1. Get the date/tim
+e
my $dt = $Strp->parse_datetime( $date ); # 2. Convert to DateT
+ime object
my $newtime = $dt->strftime( $format_output ); # 3. Output the new d
+ate/time
print $newtime;
## End
Updated: Solution with the Date::Format and Date::Parse modules
#!/usr/bin/perl -l
# 08/24/06 09:30 => Thursday, August 24th 9:30am
use Date::Parse;
use Date::Format;
use Date::Language;
my $format = '%A, %B %o %l:%M%P';
my $language = Date::Language->new('English');
## Start
my $date_time = '08/24/06 09:30';
my $time = $language->str2time( $date_time ); # 1. Parse
my $newtime = $language->time2str( $format, $time ); # 2. Output
print $newtime;
## End
|