2011-10-15 220 views

回答

6

由于UNIX时间戳只是几秒钟的数字,只是使用的区别:

$purchasedToday = $current_time - $purchase_time < 24 * 60 * 60; 
if ($purchasedToday) { 
    echo 'You just bought the item'; 
} else { 
    echo 'You bought the item some time ago'; 
} 
+0

谢谢,这工作:) – kht

6

如果他们是UNIX时间戳,那么你可以自己计算这个很容易,因为他们是秒。

$seconds = $current_time - $purchase_time 
$hours = floor($seconds/3600); 
if ($hours < 24){ 
    //success 
} 
+0

+1这是一个非常优雅的解决方案。很棒的酱。 – ehime

0

我不得不使用这样的事情:

<?php 
if(date("U", strtotime("-24 hours", $current_time) > date("U", $purchase_time)) { 
    echo "More then 24 hours you purchased this radio"; 
} 
?> 

这个工程即使时间戳不会是一个UNIX的时间戳。

2

你可以构造一个DateTime对象,然后使用它的diff()法计算$ CURRENT_TIME和$ purchase_time之间的区别:

$currentTime = new DateTime(); 
$purchaseTime = new DateTime('2011-10-14 12:34:56'); 

// Calculate difference: 
$difference = $currentTime->diff($purchaseTime); 

if ($difference->days >= 1) { 
    echo 'More than 24 hours ago.'; 
} 

这比自己计算差值更可靠,因为此方法需要照顾时区和夏令时。

1

事情是这样的:

$difference=time() - $last_login;