예제 #1
0
 public static function getHumanDate($timestamp)
 {
     $text = '';
     $t = Other::getCurrentTime('timestamp') - $timestamp;
     switch ($t) {
         /**
          * in 1 minu, just now
          */
         case $t < 60:
             $text = L10n::__('Just');
             break;
             /**
              * in 1 hours, 60 * 60 = 3600
              */
         /**
          * in 1 hours, 60 * 60 = 3600
          */
         case $t < 3600:
             $text = sprintf(L10n::__('%dmin ago'), floor($t / 60));
             break;
             /**
              * in 1 day, 60 * 60 * 24 = 86400
              */
         /**
          * in 1 day, 60 * 60 * 24 = 86400
          */
         case $t < 86400:
             $text = sprintf(L10n::__('%dh ago'), floor($t / 3600));
             break;
             /**
              * in 1 month, 60 * 60 * 24 * 30 = 2592000
              */
         /**
          * in 1 month, 60 * 60 * 24 * 30 = 2592000
          */
         case $t < 2592000:
             $text = sprintf(L10n::__('%dd ago'), floor($t / 86400));
             break;
             /**
              * in 1 year, 60 * 60 * 24 * 30 * 12 = 31104000
              */
         /**
          * in 1 year, 60 * 60 * 24 * 30 * 12 = 31104000
          */
         case $t < 31104000:
             $text = sprintf(L10n::__('%dm ago'), floor($t / 2592000));
             break;
             /**
              * in 100 year 60 * 60 * 24 * 30 * 12 * 100 = 3110400000
              */
         /**
          * in 100 year 60 * 60 * 24 * 30 * 12 * 100 = 3110400000
          */
         case $t < 3110400000:
             $text = sprintf(L10n::__('%dy ago'), floor($t / 31104000));
             break;
             /**
              * dislay date
              */
         /**
          * dislay date
          */
         default:
             $text = date(L10n::__('M j, Y'), $timestamp);
     }
     return $text;
 }