如何使用Perl以分钟为单位获取时间戳

时间:2015-10-14 07:49:35

标签: perl

我使用Perl进行时间比较。

#!/usr/bin/perl

print $fh "End Time : $endTime ";    
print $fh "Before if loop : ", time();    
 # time() gives current time timestamp    
            if ( time() < $endTime ) {    
             print $fh "Inside if loop : ", time();    
             $exitValue = 11;    
               }    

目前,我正在使用if ( time() < $endTime )。在这里,time()以毫秒为单位给出时间戳,但我得到$endTime作为时间戳,以分钟为单位。

我想比较一下munutes的时间戳。

如何在几分钟内获得时间戳?

2 个答案:

答案 0 :(得分:3)

time()为您提供自纪元in seconds以来的时间。

如果您想要分钟,可以使用:

my $time_min = int(time() / 60);

David Cross只是强调使用int()总是向下舍入。替代方案包括:

答案 1 :(得分:0)

我看到两种可能的解决方案:

  • 您可以在一分钟内将$endTime乘以毫秒(即$endTime = $endTime * 60000),然后在执行时将其与time()进行比较

  • 您可以在一分钟内将time()的整数除以毫秒(即if (floor(time() / 60000) < $endTime) ...)。只要我知道,您需要use POSIX才能使用floor

第一个是我最喜欢的选择。