Я хочу вычесть datenow
и registerdate
и использовать результат в состоянии.
Ниже приведен код:
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);
Разность меток времени находится в секундах. Вы можете преобразовать это в минуты (делить на 60), часы (делить на 60 * 60), день (делить на 24 * 60 * 60) и так далее.
В Интернете представлено множество примеров и руководств, пожалуйста, обратитесь:
http://www.w3schools.com/php/func_date_date_diff.asp
использовать это...
$date1=date_create("2013-03-15");
$date2=date_create("2013-12-12");
$diff=date_diff($date1,$date2);
Разделить на 60
даст вам Minutes
. Разделить на 60*60
даст вам Hours
. Разделить на 60*60*24
даст вам Days
. и так далее.
<your timestamp> / 60*60 = hours