我在 mysql 表上有一个时间戳字段,我想知道该时间戳是否为 24 小时或更长时间。在 Perl 中最好的方法是什么?
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 回答