MM-DD-YYYY
次の日付をフォーマットに変換したい。
Sep 12 00:00:00 2012
パールで
これを行うモジュールがいくつかありますがTime::Piece
、v5.9 からコア Perl ディストリビューションの一部になっているため、おそらく最良の選択です。
このコードは、あなたが求めることを行います。形式では、日からまでが期待%e
されることに注意してください。日がゼロで埋められて 2 桁になる場合は、代わりにtoを使用する必要があります。strptime
1
31
%d
01
31
use strict;
use warnings;
use Time::Piece;
my $dt = Time::Piece->strptime('Sep 12 00:00:00 2012', '%b %e %T %Y');
print $dt->strftime('%d-%m-%Y');
出力
12-09-2012
strptime()
と `strftime()' 機能の両方を提供するコアモジュールの場合、 Time::Pieceを使用できます。
use Time::Piece;
my $date = q(Sep 12 01:02:03 2012);
my $t = Time::Piece->strptime($date, "%b %d %H:%M:%S %Y");
print $t->strftime("%m-%d-%Y\n");
DateTime :: Format :: Strptimeの使用:
use DateTime::Format::Strptime qw( );
my $input_format = DateTime::Format::Strptime->new(
pattern => '%b %d %H:%M:%S %Y',
locale => 'en_US',
time_zone => 'local',
on_error => 'croak',
);
my $dt = $input_format->parse_datetime('Sep 12 00:00:00 2012');
say $dt->strftime('%m-%d-%Y');