我正在使用%y-%m-%d-%h
。匹配值。但它会生成单个值。我想要两个数字值,如01
几个月。我在perl中使用strptime
Time::piece
函数。
答案 0 :(得分:1)
原谅并解决:
my $tp = eval { Time::Piece->strptime($date , '%y-%m-%d-%h') };
if ($@) {
die("Wrong format");
}
$date = $tp->strftime('%y-%m-%d-%h');
严格执行:
if ($date !~ /^[0-9]{4}-[0-9]{2}-[0-9]{2}-[0-9]{2}\z/) {
die("Wrong format");
}
if (!eval { Time::Piece->strptime($date , '%y-%m-%d-%h') }) {
die("Wrong format");
}