示例#1
0
文件: Date.php 项目: levmorozov/mii
 public static function formated($timestamp, $local_timestamp = NULL)
 {
     $local_timestamp = $local_timestamp === NULL ? time() : (int) $local_timestamp;
     // Determine the difference in seconds
     $offset = abs($local_timestamp - $timestamp);
     if ($offset <= Date::MINUTE) {
         $span = 'только что';
     } elseif ($offset < Date::HOUR) {
         $minutes = round($offset / 60);
         $span = $minutes . ' ' . Num::decl($minutes, array('минуту', 'минуты', 'минут')) . ' назад';
     } elseif ($offset == Date::HOUR) {
         $span = 'час назад';
     } elseif ($offset < Date::HOUR * 2) {
         $span = 'два часа назад';
     } elseif ($offset < Date::DAY) {
         if (date('d', $timestamp) != date('d')) {
             $span = 'вчера в ' . date('H:i', $timestamp);
         } else {
             $span = 'сегодня в ' . date('H:i', $timestamp);
         }
     } elseif ($offset > Date::DAY) {
         if (date('Y', $timestamp) != date('Y')) {
             $span = Date::strftime_rus('%e %B2 %Y', $timestamp) . ' в ' . date('H:i', $timestamp);
         } else {
             $span = Date::strftime_rus('%e %B2', $timestamp) . ' в ' . date('H:i', $timestamp);
         }
     }
     if ($timestamp <= $local_timestamp) {
         // This is in the past
         return $span;
     } else {
         // This in the future
         return 'в ' . $span;
     }
 }