Heylo,
我想计算(仅使用默认的Perl安装)两个日期之间的天数.两个日期的格式都是这样的04-MAY-09.(DD-MMM-YY)
我找不到任何讨论该日期格式的教程.我应该为这种格式构建自定义日期检查器吗?进一步阅读CPAN 上的Date :: Calc,看起来不太可能支持这种格式.
谢谢.
use DateTime ;
my $date = "2010-08-02 09:10:08";
my $dt = DateTime->now( time_zone => 'local' )->set_time_zone('floating');
print $dt->subtract_datetime($date);
Run Code Online (Sandbox Code Playgroud)
它不起作用; 问题是什么?
错误消息是:
Can't call method "time_zone" without a package or object reference at
/opt/perl/perl5.12/lib/site_perl/5.12.0/x86_64-linux/DateTime.pm line 1338
Run Code Online (Sandbox Code Playgroud) 我从人类可读文本中提取了年,月,日,小时,分钟,秒和毫秒数据(它不是时间戳格式,而是类似于"X开始于HH:MM:SS.SSS on DD MMM YYYY"并结束于HH:MM:SS.SSSS on DD MMM YYYY"),因此对于每个记录的事件,我都有每个值.
但是,我需要将它们变成某种时间戳,这样我才能对它进行数学运算 - 我想确定事件的持续时间(结束时间 - 开始时间).我希望该time函数将采用参数,所以我可以创建两个任意times,但似乎并非如此.
如果可能的话,我想坚持我可以添加到项目中的核心Perl库或脚本中可用的功能,因为在目标计算机上安装CPAN模块会让每个人都头疼,如果有可能获得的话模块通过安全限制.