当前位置:  开发笔记 > 编程语言 > 正文

在Perl中处理时间数学的最佳方法是什么?

如何解决《在Perl中处理时间数学的最佳方法是什么?》经验,为你挑选了2个好方法。

我正在运行两个大型日志文件,我想比较时间戳.

我已经编写了一个Perl脚本来查找匹配的日志语句,但我需要找到时间戳的差异.

例如,15:31:19.430888减去15:31:19.427763

在Perl中处理时间有什么好的结构吗?如果我能避免的话,我不想自己处理时间数学.



1> denkfaul..:

您可以使用DateTime CPAN模块.

例如.

my $dt = DateTime->new( 
                      year   => 2009,
                      hour   => 15,
                      minute => 31,
                      second => 19,
                      nanosecond => 430888
);
my $dt2 = DateTime->new( 
                      year   => 2009,
                      hour   => 15,
                      minute => 31,
                      second => 19,
                      nanosecond => 427763
);
my $duration = $dt - $dt2;

它将为您提供DateTime :: Duration对象以从中检索结果.



2> skiphoppy..:

DateTime是最好的,但只有当你做任何涉及减法的日期数学时,你才记得使用subtract_datetime_absolute方法而不是重载减号运算符.这是从两个日期时间中获得"秒表持续时间"的唯一方法,只有秒表持续时间对我所做的日期算术有用.DateTime :: Duration界面令人困惑和误导,特别是当你认为你有一个秒表持续时间而你没有.

人们很早就提到了这种情况会有多么混乱,但它从来没有得到纠正.

Time :: Piece模块是一个很好的选择.我不得不说整体它没有DateTime那么有用,但它绝对避免了这种混乱.我更喜欢DateTime,但只是勉强.


Time :: Piece还带有5.10的"我只想要核心模块"的人群.通常是一种被误导的欲望,但我想我会提到它.
推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有