Perl:怎么知道24小时过去了?

时间:2014-03-01 08:04:54

标签: perl date time elapsed

我在mysql表上有一个时间戳字段,我想知道该时间戳是24小时还是更长。在Perl中最好的方法是什么?

4 个答案:

答案 0 :(得分:3)

将在24小时前返回时间戳的SQL。

SELECT UNIX_TIMESTAMP(NOW() - INTERVAL 24 HOUR) 

现在,如果你的时间戳是<上述SQL返回的时间戳已经过了24小时。

答案 1 :(得分:2)

最好的事情是让数据库完成工作。有关示例,请参阅SQL statement to select all rows from previous day

答案 2 :(得分:1)

按时间戳我假设它是Unix时间戳,即自纪元以来的秒数。

my $ts       = 1393662619;
my $day_24hr = 24 * 60 * 60;    ## seconds in 24 hrs

my $prev_time = time() - $day_24hr;    ## 24hours ago

if ( $ts < $prev_time ) {
    print "timestamp is 24 hour old";
}

答案 3 :(得分:0)

您可以使用localtime

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($unix_timestamp);