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> | ... | ... |