我使用 time()
;
我有$current_time
和$purchase_time
。如何确保purchase_time小于当前时间的24小时?
答案 0 :(得分:7)
由于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';
}
答案 1 :(得分:7)
如果它们是UNIX时间戳,那么你可以很容易地自己计算,因为它们是秒。
$seconds = $current_time - $purchase_time
$hours = floor($seconds/3600);
if ($hours < 24){
//success
}
答案 2 :(得分:1)
您可以构造一个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.';
}
这比自己计算差异更可靠,因为这种方法可以处理时区和夏令时。
答案 3 :(得分:1)
这样的事情:
$difference=time() - $last_login;
答案 4 :(得分:0)
我曾经使用过这样的东西:
<?php
if(date("U", strtotime("-24 hours", $current_time) > date("U", $purchase_time)) {
echo "More then 24 hours you purchased this radio";
}
?>
即使时间戳不是UNIX时间戳,也能正常工作。