如何在php中减去两个日期

时间:2014-11-07 04:23:09

标签: php yii

我想减去datenowregisterdate并在条件中使用结果。

以下是代码:

    public function actionCheckDate(){
        date_default_timezone_set('Asia/Kuala_Lumpur'); 
        $datenow = date('Y-m-d');   

        $id = Yii::app()->user->getState('id');
        $models = GamesDevelopers::model()->find('id='.$id); 
        $registerdate = CHtml::encode($models->registerdate);           
        $active = strtotime($datenow)-strtotime($registerdate);

        print_r($active);
        die();
}

结果是: 627173 ,我怎么知道 627173 是多少时间或日期?

已更新

    public function actionCheckDate(){
        date_default_timezone_set('Asia/Kuala_Lumpur'); 
        $datenow = date('Y-m-d H:i:s'); 

        $id = Yii::app()->user->getState('id');
        $models = GamesDevelopers::model()->find('id='.$id); 
        $registerdate = CHtml::encode($models->registerdate);           

        $diff = abs(strtotime($registerdate) - strtotime($datenow));

        $years = floor($diff / (365*60*60*24));
        $months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24));
        $days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24));

        printf("%d years, %d months, %d days\n", $years, $months, $days);
        die();
}

工作得很好,但如何计算小时数?

找工作时间:

    $hours = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24)*24);

    printf("%d hours\n",$hours);

3 个答案:

答案 0 :(得分:2)

使用此...

$date1=date_create("2013-03-15");
$date2=date_create("2013-12-12");
$diff=date_diff($date1,$date2);

答案 1 :(得分:1)

时间戳差异以秒为单位。您可以将其转换为分钟(除以60),小时(除以60 * 60),日(除以24 * 60 * 60)&等等。

有很多例子和网上提供的教程,请参阅:

http://www.w3schools.com/php/func_date_date_diff.asp

How to calculate the difference between two dates using PHP?

Date Difference in php on days?

答案 2 :(得分:0)

除以60会给你Minutes。 除以60*60将给您Hours。 除以60*60*24将给您Days。 等等。

<your timestamp> / 60*60 = hours