Ben çalışmak için iki Zend tarihi nesneleri var:
$now = Zend_Date::now();
$sessionStart = new Zend_Date('2010-04-01 10:00:00', 'yyyy-MM-dd HH:mm:ss');
Ben kalan süresini hesaplamak ve bir insan okunabilir şekilde görüntülemek gerekir.
The session will begin in 7 days.
The session will begin in 30 minutes.
Ben bu PHP ve Zend Framework ile nasıl yapabilirim?
Solution
Burada ben ile geldi budur. Eğer daha iyi bir çözüm var ise, bunu yayınlayın lütfen.
$remainingSeconds = $sessionStart->getTimestamp() - $now->getTimestamp();
// or: $remainingSeconds = $sessionStart->sub($now);
$remainingMinutes = $remainingSeconds / 60;
if ($remainingMinutes < 0) {
//session is in the past
return '0 days';
}
if (floor($remainingMinutes) <= 1) {
return '1 minute';
}
if (floor($remainingMinutes) < 60) {
return floor($remainingMinutes) . ' minutes';
}
$remainingHours = $remainingMinutes / 60;
if (floor($remainingHours) <= 1) {
return '1 hours';
}
if (floor($remainingHours) < 24) {
return floor($remainingHours) . ' hours';
}
$remainingDays = $remainingHours / 24;
if (floor($remainingDays) <= 1) {
return '1 day';
}
return floor($remainingDays) . ' days';