In the spirit of
Tim Toady, when you have all the date/time elements in separate variables
printf /
sprintf can be your friend:
use strict;
use warnings;
my $format = "%4u-%02u-%02u %02u-%02u-%02u";
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime;
printf "$format\n", $year+1900, $mon+1, $mday, $hour, $min, $sec;
my $event = 'The Eagle has landed (' . sprintf($format, 1969, 7, 20, 2
+0, 17, 40) . " UTC)\n";
print $event;
__END__
2013-10-13 10-49-01
The Eagle has landed (1969-07-20 20-17-40 UTC)