strftimeやstrptimeはつかいませんか。$time->strftime(’at %l:%m%P(%B %d)’);
とLingrの日付を変換に対してコメントをもらいました。これを忘れていた。
# print new time print 'at ' . $time->hour_12 . ':' . $time->minute . ($time->hour_1 < 12 ? 'am' : 'pm') . ' (' . $rev_month{$time->month}. ' ' . $time->day. ')';
が
# print new time print $time->strftime('at %l:%m%P(%B %d)');
になって、非常にスッキリ。文字列のパースのほうもDateTime::Format::Strptimeで試してみるものの、文字列に「年」が含まれてないとパースできない?