当我执行perl模块时,我有以下错误:
Undefined subroutine &main::timelocal
我已经定义了时间,我希望它的格式为DDMMYYYY
,不带任何分隔符。
要像这样使用timellocal,您需要导入它:
use Time::Local 'timelocal';
(并确保调用正确;看到时间::本地)
但也许你指的是当地时间?或者您可能需要POSIX::strftime.
你没有具体说明从哪里得到时间。这适用于当前日期,使用核心Time::Piece模块:
use Time::Piece;
print localtime->dmy(''); # 05042011
如果你在变量中有时间,你可以做
use Time::Piece;
print localtime($time)->dmy('');
dmy
呼叫中的空字符串为separator。
核心POSIX模块包含一个'strftime'函数,用于处理所有标准Unix日期/时间格式序列。
$ perl -MPOSIX=strftime -le'print strftime "%d%m%Y", localtime'
或者,在程序中
use POSIX 'strftime';
print strftime '%d%m%Y', localtime, "n";
这是一个古老的错误,但我有这个确切的错误,并通过查看上面的例子用不同的解决方案解决了它。
原因是我没有在use语句的末尾加上';' !
use Time::Local ;