执行perl模块时出现以下错误:
Undefined subroutine &main::timelocal
我已经定义了时间,我希望格式为DDMMYYYY
而没有任何分隔符。
有人可以帮我吗?
答案 0 :(得分:3)
要像这样使用timelocal,你需要导入它:
use Time::Local 'timelocal';
(并确保您正确调用它;请参阅Time::Local)
但也许你的意思是localtime?或者您可能需要POSIX::strftime。
答案 1 :(得分:2)
你不是很具体在哪里得到时间。这适用于当前日期,使用核心Time::Piece模块:
use Time::Piece;
print localtime->dmy(''); # 05042011
如果你有时间变量,你可以
use Time::Piece;
print localtime($time)->dmy('');
dmy
调用中的空字符串是分隔符。
答案 2 :(得分:1)
核心POSIX模块包含一个'strftime'函数,可处理所有标准的Unix日期/时间格式序列。
$ perl -MPOSIX=strftime -le'print strftime "%d%m%Y", localtime'
或者,在程序中,
use POSIX 'strftime';
print strftime '%d%m%Y', localtime, "\n";
答案 3 :(得分:-1)
这是一个旧的,但我有这个确切的错误,并通过使用不同的解决方案查看上述示例解决了它。
原因是我没有包括';'在使用声明的最后!
use Time::Local ;