我有一些代码,我在Debian 8.1上使用Perl 5.20运行。但是我在下一行收到警告和错误:
[1, 3, 8]
警告:
Date::Manip::DM6::Date_Init("TZ=+0430");
错误:
WARNING: the TZ Date::Manip config variable is deprecated
and will be removed in March 2016. Please use
the SetDate or ForceDate config variables instead.
我该如何解决这个问题?
答案 0 :(得分:4)
弃用在Date::Manip::Config
中解释:
<强> TZ 强>
此变量已弃用,但多个版本将支持此变量。应该使用
SetDate
或ForceDate
变量(下面描述)。以下是等效的:
$date->config("tz","Europe/Rome"); $date->config("setdate","now,Europe/Rome");
关于&#34;无效区域的警告,&#34;显然* Date::Manip
要求您以+HH:MM:SS
(或-HH:MM:SS
)格式指定偏移量。
要修复这两个警告,请从以下位置更改adsl.pl的第75行:
Date_Init("TZ=+0430");
到此:
Date_Init("setdate=now,+04:30:00");
*我没有在任何地方看到此文档,但警告是由Date::Manip::TZ
中的以下代码触发的:
return undef if (! exists $$self{'data'}{'Offmod'}{$offset});
这会在%Date::Manip::Zones::Offmod
中执行哈希查找,其中只包含+HH:MM:SS
(或-HH:MM:SS
)格式的密钥。