I want yesterdays date in perl in a specific format.
My Script:
use DateTime qw( );
use Date::Parse;
use Date::Language;
my $lang = Date::Language->new('German');
my $yday_date =
DateTime
->now( time_zone => 'local' )
->set_time_zone('floating')
->truncate( to => 'day' )
->subtract( days => 1 )
->strftime('%b%d');
print $lang ->time2str($yday_date)
What I get:
Dec08
What I need
Dez08
Does anyone know what the issue is? Any answer is appreciated!
You should pass the time
to the language object together with the formatting string.
Example:
use DateTime qw( );
use Date::Parse;
use Date::Language;
my $lang = Date::Language->new('German');
my $yday_date =
DateTime
->now( time_zone => 'local' )
->set_time_zone('floating')
->truncate( to => 'day' )
->subtract( days => 1 )
->epoch;
print $lang->time2str('%b%d', $yday_date) . "\n";