我創建了一個函數返回兩個日期PHP小區返回
<?php
class days {
function dateDiff($start, $end) {
$start_ts = strtotime($start);
$end_ts = strtotime($end);
$diff = $end_ts - $start_ts;
$diff1 = ceil($diff/86400);
return $diff1;
}
}
我有這樣的代碼視圖之間的差別的浮動:
<?php
$a = new days();
$days = $a->dateDiff($v[17], date('Y/m/d'));
if ($days < 30) {
$ds = $days;
$tm = 'days';
} else {
if ($days < 365) {
$ds = $days/30;
$tm = 'months';
} else {
$ds = $days/365;
$tm = 'years';
}
}
$ V [17]是的從數據庫返回到視圖的日期。
當我比如進入2011年8月的一篇文章...這將顯示:
2.9666666666667個月前
我問自己...如何,因爲它是這個的Ceil方法不能返回一個int值應該做的?
如果這是正常的,那麼解決方案是什麼?
預先感謝您:)當它返回的天數
細胞是返回一個int,然後你把它再次在這裏漂浮' $ ds = $ days/30' – Esailija
你還應該記住,如果你做任何變量類型檢查,ceil(),floor()和round()確實返回浮點數,它們只是四捨五入到最接近的整數。 )http://uk.php.net/manual/en/function.ceil.php – Chris
謝謝大家,我現在知道問題出在哪裏,謝謝Esailija,謝謝Chris :-) +1 – SmootQ