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