如何在Perl中以格式获取系统时钟?

and*_*ier 3 perl datetime

我想得到系统时钟(时间和日期)并在Perl中以人类可读的格式显示它.格式如2014-09-12 15:13:56

#!/usr/local/bin/perl
my %months = qw(Jan Feb Mar Apr May  Jun  Jul
Aug  Sep  Oct  Nov Dec);
@weekDays = qw(Sun Mon Tue Wed Thu Fri Sat Sun);
($second, $minute, $hour, $dayOfMonth, $month, $yearOffset, $dayOfWeek, $dayOfYear,   
$daylightSavings) = localtime();
$year = 1900 + $yearOffset;
$now = "$year-$months-$dayOfMonth $hour:$minute:$second";
print $now;
Run Code Online (Sandbox Code Playgroud)

当您运行该程序时,您应该看到更加可读的日期和时间,如下所示:

2014--12 16:57:15
Run Code Online (Sandbox Code Playgroud)

如何将月份转换为数字?

Сух*_*й27 6

使用Time::Piece(自perl以来的核心模块v5.9.5)

use Time::Piece;
my $dt = localtime;
print $dt->ymd, " ", $dt->hms, "\n";
Run Code Online (Sandbox Code Playgroud)

运用 DateTime

use DateTime;
my $dt = DateTime->now();
print $dt->ymd, " ", $dt->hms, "\n";
Run Code Online (Sandbox Code Playgroud)