Commit fd384984b89bc02efc2916c71132f0b9cc41ef8e
1 parent
4b85f536
test
Showing
2 changed files
with
58 additions
and
11 deletions
Show diff stats
common/models/Job.php
| ... | ... | @@ -101,16 +101,63 @@ |
| 101 | 101 | $start = new \DateTime($this->date_start); |
| 102 | 102 | $end = new \DateTime($this->date_end); |
| 103 | 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 | 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 | 157 | } else { |
| 112 | 158 | return false; |
| 113 | 159 | } |
| 160 | + return $result; | |
| 114 | 161 | // if($this->date_end && $this->date_start) { |
| 115 | 162 | // $date = new \DateTime(date('Y-m-d H:i:s', $this->date_start)); |
| 116 | 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 | 17 | <div class="workplace-experience-post-title"><?= $job->name ?></div> |
| 18 | 18 | <div class="workplace-experience-post-date"> |
| 19 | 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 | 28 | </div> |
| 29 | 29 | <div class="workplace-experience-post-vacancy"><?= $job->position ?></div> | ... | ... |