我在PHP使用 time()
创建时间戳
我有$current_time
和$purchase_time
。我如何确保purchase_time小于当前时间的24小时?
如果它们是UNIX时间戳,那么您可以非常容易地自己计算,因为它们是秒。
$seconds = $current_time - $purchase_time
$hours = floor($seconds/3600);
if ($hours < 24){
//success
}
由于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';
}
你可以构造一个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.';
}
这比你自己计算时差更可靠,因为这个方法会考虑时区和夏令时。
像这样:
$difference=time() - $last_login;
我使用了这样的代码:
<?php
if(date("U", strtotime("-24 hours", $current_time) > date("U", $purchase_time)) {
echo "More then 24 hours you purchased this radio";
}
?>
即使时间戳不是unix时间戳也可以。