2011-09-23 121 views
3

我想计算一个日期之前剩余的天数。在我的数据库中,我有一个对应于结束日期的时间戳。例如周五30.我想说这样的事情:计算剩余天数

剩余的7天...... 6,5,4,等

你能帮助我吗?

+0

我忘了说,我的结束日期是时间戳。 – BobbaFett

+1

楼层有什么问题(($ endTimestamp - time())/ 86400); ? –

+1

可能的重复[如何找到使用php两个日期之间的天数](http://stackoverflow.com/questions/2040560/how-to-find-number-of-days-between-two-dates-using- php) – JJJ

回答

9
$future = strtotime('21 July 2012'); //Future date. 
$timefromdb = //source time 
$timeleft = $future-$timefromdb; 
$daysleft = round((($timeleft/24)/60)/60); 
echo $daysleft; 
+0

什么是$未来? – BobbaFett

+0

已修改。未来应该是你**的日期倒数** ** – Mob

+1

谢谢!!!!!!!! – BobbaFett

3
$days = round((timestamp_from_database - time())/86400); 
+0

不工作......它返回一个时间戳。 – BobbaFett

+0

@BobbaFett什么时候返回一个时间戳? '$ days'应该是天数,我很确定它。 –

+0

这一个工作最好,只需使用'strtotime()'作为时间戳 – Grasper

2
$date1 = new DateTime("2016-01-01"); //current date or any date 
    $date2 = new DateTime("2016-12-31"); //Future date 
    $diff = $date2->diff($date1)->format("%a"); //find difference 
    $days = intval($diff); //rounding days 
    echo $days; 
    //it return 365 days omitting current day