- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/ui/task/deadline.php
- Класс: Bitrix\Tasks\UI\Task\Deadline
- Вызов: Deadline::getExpiredTime
private function getExpiredTime(int $timestamp): string { $extensionPrefix = 'TASKS_GRID_TASK_ROW_CONTENT_DEADLINE_STATE_EXPIRED_'; $extensions = [ 'YEAR' => [ 'value' => 31536000, 'text' => Loc::getMessage($extensionPrefix.'YEAR'), ], 'MONTH' => [ 'value' => 2592000, 'text' => Loc::getMessage($extensionPrefix.'MONTH'), ], 'WEEK' => [ 'value' => 604800, 'text' => Loc::getMessage($extensionPrefix.'WEEK'), ], 'DAY' => [ 'value' => 86400, 'text' => Loc::getMessage($extensionPrefix.'DAY'), ], 'HOUR' => [ 'value' => 3600, 'text' => Loc::getMessage($extensionPrefix.'HOUR'), ], 'MINUTE' => [ 'value' => 60, 'text' => Loc::getMessage($extensionPrefix.'MINUTE'), ], ]; $today = (new DateTime())->getTimestamp() + \CTimeZone::GetOffset(); $delta = $today - $timestamp; if ($delta < 0) { return ''; } $expiredTime = Loc::getMessagePlural($extensionPrefix . 'MINUTE', 1, [ '#TIME#' => 1, ]); foreach ($extensions as $key => $extension) { $value = (int)floor($delta / $extension['value']); if ($value >= 1) { $expiredTime = Loc::getMessagePlural($extensionPrefix . $key, $value, [ '#TIME#' => $value, ]); break; } $delta -= $value * $extension['value']; } return $expiredTime; }