Пример #1
0
 public function relativeDateTime(Zend_Date $date = null)
 {
     if (null === $date) {
         return $this;
     }
     $todayDate = new Zend_Date();
     $diff = $todayDate->sub($date);
     $mt = new Zend_Measure_Time($diff);
     $units = $mt->getConversionList();
     $chunks = array(Zend_Measure_Time::YEAR, Zend_Measure_Time::MONTH, Zend_Measure_Time::WEEK, Zend_Measure_Time::DAY, Zend_Measure_Time::HOUR, Zend_Measure_Time::MINUTE, Zend_Measure_Time::SECOND);
     for ($i = 0, $count = count($chunks); $i < $count; ++$i) {
         $seconds = $units[$chunks[$i]][0];
         $unitKey = $chunks[$i];
         if (0.0 !== ($result = floor($diff->get(Zend_Date::TIMESTAMP) / $seconds))) {
             break;
         }
     }
     $translateHelper = new Zend_View_Helper_Translate();
     if ($result === (double) 1) {
         $formatedString = $translateHelper->translate($this->getUnitTemplate($unitKey));
     } else {
         $formatedString = $translateHelper->translate($this->getUnitTemplate($unitKey . 'S'));
     }
     $formatedString = str_replace('%value%', (string) $result, $formatedString);
     return $formatedString;
 }
Пример #2
0
 /**
  * test getConversionList
  * expected array
  */
 public function testTimeConversionList()
 {
     $value = new Zend_Measure_Time('-100', Zend_Measure_Time::STANDARD, 'de');
     $unit = $value->getConversionList();
     $this->assertTrue(is_array($unit), 'Array expected');
 }