我已经搜索了几个小时的公式,将dd / mm / yyyy格式转换为纪元时间但尚未找到解决方案。
我从两种不同的格式转换后有两个日期,现在就像这个“08011985”和“09302014”。我必须将它们转换为纪元时间,以便从最早和最晚的日期获得差异,并根据传播的大小做一些事情。
我无法安装任何模块,我在5.8.8。
答案 0 :(得分:5)
内置模块Time::Local提供了localtime和gmtime,timelocal和timegm的反转。他们采取日期和时间并返回纪元时间。
perlfaq4涵盖了这些问题。
答案 1 :(得分:0)
以下是使用Time::Local
模块的示例,该模块一直是Perl 5的核心组件。
use strict;
use warnings;
use Time::Local qw/ timelocal /;
for my $date ( qw/ 08011985 09302014 / ) {
print epoch_for_mmddyyyy($date), "\n";
}
sub epoch_for_mmddyyyy {
my ($m, $d, $y) = unpack 'A2A2A4', shift;
timelocal(0, 0, 0, $d, $m-1, $y);
}
<强>输出强>
491698800
1412031600