Perl localtime生成的错误日期

Ami*_*bha -1 perl

今天我发现以下perl脚本运行不正确.当前实际日期时间是20140814 13:19但它返回:2014-7-14-13-19-15(月值7比实际值8少1)

我的操作系统:win7

sub GetFileNameDate {
    my ($sec,$min,$hour,$day,$month,$yr19,@rest) =   localtime;
    return sprintf "%s-%s-%s-%02d-%02d-%02d", ($yr19 + 1900), $month, $day, $hour, $min, $sec;
}
Run Code Online (Sandbox Code Playgroud)

Rah*_*thi 5

这是不正确的,就像月份值从0开始

sub GetFileNameDate {
    my ($sec,$min,$hour,$day,$month,$yr19,@rest) =   localtime;
    return sprintf "%s-%s-%s-%02d-%02d-%02d", ($yr19 + 1900), ($month +1), $day, $hour, $min, $sec;
}
Run Code Online (Sandbox Code Playgroud)

$ month是月份本身,在0..11范围内,0表示1月,11表示12月.

您可以查看手册