0

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

4

4 回答 4

3

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

SELECT UNIX_TIMESTAMP(NOW() - INTERVAL 24 HOUR) 

现在,如果您的时间戳 < 上述 SQL 返回的时间戳,则已过去 24 小时。

于 2014-03-01T13:31:13.437 回答
2

最好的事情是让数据库来完成工作。有关示例,请参阅SQL 语句以选择前一天的所有行。

于 2014-03-01T08:14:43.117 回答
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";
}
于 2014-03-01T08:12:57.297 回答
0

你可以使用localtime它。

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($unix_timestamp);
于 2014-03-01T08:10:35.767 回答