Commit fd384984b89bc02efc2916c71132f0b9cc41ef8e

Authored by Yarik
1 parent 4b85f536

test

common/models/Job.php
@@ -101,16 +101,63 @@ @@ -101,16 +101,63 @@
101 $start = new \DateTime($this->date_start); 101 $start = new \DateTime($this->date_start);
102 $end = new \DateTime($this->date_end); 102 $end = new \DateTime($this->date_end);
103 $interval = $end->diff($start); 103 $interval = $end->diff($start);
104 - if(!empty($interval->y)) {  
105 - if($interval->y) {  
106 - $result 104 + if($interval->y > 0) {
  105 + if($interval->y == 1) {
  106 + $result .= $interval->y.' год';
  107 + } elseif($interval->y > 1 && $interval->y <= 4) {
  108 + $result .= $interval->y.' года';
  109 + } else {
  110 + $result .= $interval->y.' лет';
107 } 111 }
108 } 112 }
  113 + if($interval->m > 0) {
  114 + if(!empty($result)) {
  115 + $result .= ', ';
  116 + }
  117 + if($interval->m == 1) {
  118 + $result .= $interval->m.' месяц';
  119 + } elseif($interval->m > 1 && $interval->m <= 4) {
  120 + $result .= $interval->m.' месяца';
  121 + } else {
  122 + $result .= $interval->m.' месяцев';
  123 + }
  124 + }
  125 + if(empty($result) && $interval->d > 0) {
  126 + $result = 'Меньше месяца';
  127 + }
109 } elseif(!empty($this->date_start)) { 128 } elseif(!empty($this->date_start)) {
110 - 129 + $result = '';
  130 + $start = new \DateTime($this->date_start);
  131 + $end = new \DateTime();
  132 + $interval = $end->diff($start);
  133 + if($interval->y > 0) {
  134 + if($interval->y == 1) {
  135 + $result .= $interval->y.' год';
  136 + } elseif($interval->y > 1 && $interval->y <= 4) {
  137 + $result .= $interval->y.' года';
  138 + } else {
  139 + $result .= $interval->y.' лет';
  140 + }
  141 + }
  142 + if($interval->m > 0) {
  143 + if(!empty($result)) {
  144 + $result .= ', ';
  145 + }
  146 + if($interval->m == 1) {
  147 + $result .= $interval->m.' месяц';
  148 + } elseif($interval->m > 1 && $interval->m <= 4) {
  149 + $result .= $interval->m.' месяца';
  150 + } else {
  151 + $result .= $interval->m.' месяцев';
  152 + }
  153 + }
  154 + if(empty($result) && $interval->d > 0) {
  155 + $result = 'Меньше месяца';
  156 + }
111 } else { 157 } else {
112 return false; 158 return false;
113 } 159 }
  160 + return $result;
114 // if($this->date_end && $this->date_start) { 161 // if($this->date_end && $this->date_start) {
115 // $date = new \DateTime(date('Y-m-d H:i:s', $this->date_start)); 162 // $date = new \DateTime(date('Y-m-d H:i:s', $this->date_start));
116 // return \Yii::$app->formatter->asRelativeTime($date->diff(new \DateTime(date('Y-m-d H:i:s', $this->date_end)))); 163 // return \Yii::$app->formatter->asRelativeTime($date->diff(new \DateTime(date('Y-m-d H:i:s', $this->date_end))));
frontend/views/performer/workplace.php
@@ -17,13 +17,13 @@ @@ -17,13 +17,13 @@
17 <div class="workplace-experience-post-title"><?= $job->name ?></div> 17 <div class="workplace-experience-post-title"><?= $job->name ?></div>
18 <div class="workplace-experience-post-date"> 18 <div class="workplace-experience-post-date">
19 <?php 19 <?php
20 - if(!empty($job->date_start) && !empty($job->date_end)) {  
21 - echo $job->date_start . '-' . $job->date_end . ' (' . $job->expTime . ')';  
22 - } elseif(!empty($job->date_start)) {  
23 - echo 'с ' . $job->date_start . ' (' . $job->expTime . ')';  
24 - } elseif(!empty($job->date_end)) {  
25 - echo 'до ' . $job->date_end;  
26 - } 20 + if(!empty( $job->date_start ) && !empty( $job->date_end )) {
  21 + echo \Yii::$app->formatter->asDate(strtotime($job->date_start), 'php:d.m.Y') . ' - ' . \Yii::$app->formatter->asDate(strtotime($job->date_end), 'php:d.m.Y') . ' (' . $job->expTime . ')';
  22 + } elseif(!empty( $job->date_start )) {
  23 + echo 'с ' . \Yii::$app->formatter->asDate(strtotime($job->date_start), 'php:d.m.Y') . ' (' . $job->expTime . ')';
  24 + } elseif(!empty( $job->date_end )) {
  25 + echo 'до ' . \Yii::$app->formatter->asDate(strtotime($job->date_end), 'php:d.m.Y');
  26 + }
27 ?> 27 ?>
28 </div> 28 </div>
29 <div class="workplace-experience-post-vacancy"><?= $job->position ?></div> 29 <div class="workplace-experience-post-vacancy"><?= $job->position ?></div>