Commit 49d4a4c7979792d802b05d0f6ce599d64f7f2d8a
1 parent
a71ce81f
提交
Showing
1 changed file
with
91 additions
and
2 deletions
src/components/darenListCom/darenListCom.vue
| ... | ... | @@ -11,7 +11,10 @@ |
| 11 | 11 | </div> |
| 12 | 12 | <div class="top-right"> |
| 13 | 13 | <!-- 发布时间 --> |
| 14 | - {{item.time}} | |
| 14 | + <div class="day" v-if="getDatetime(item.addtime, item.time).day"> | |
| 15 | + {{getDatetime(item.addtime, item.time).day}} | |
| 16 | + </div> | |
| 17 | + <div class="date">{{getDatetime(item.addtime, item.time).date}}</div> | |
| 15 | 18 | </div> |
| 16 | 19 | </div> |
| 17 | 20 | |
| ... | ... | @@ -97,6 +100,92 @@ |
| 97 | 100 | } |
| 98 | 101 | }, |
| 99 | 102 | props: ["item"], |
| 103 | + computed: { | |
| 104 | + | |
| 105 | + // 计算显示日期 | |
| 106 | + getDatetime() { | |
| 107 | + | |
| 108 | + function isLeapYear(year) { | |
| 109 | + if (year % 4 == 0&&year % 100 != 0||year % 400 ==0) { | |
| 110 | + return true; | |
| 111 | + } else { | |
| 112 | + return false; | |
| 113 | + } | |
| 114 | + } | |
| 115 | + | |
| 116 | + return function(addTime, nowTime, index = undefined) { | |
| 117 | + | |
| 118 | + // 返回数据 | |
| 119 | + let result = { | |
| 120 | + year: "", | |
| 121 | + day: "", | |
| 122 | + date: "" | |
| 123 | + }; | |
| 124 | + | |
| 125 | + // 设置时间对象 | |
| 126 | + let now = new Date(nowTime * 1000); | |
| 127 | + let add = new Date(addTime * 1000); | |
| 128 | + | |
| 129 | + // 一年中的第几天 | |
| 130 | + let nowDays = Math.ceil(( now - new Date(now.getFullYear().toString())) / (24 * 60 * 60 * 1000)) + 1; | |
| 131 | + let addDays = Math.ceil(( add - new Date(add.getFullYear().toString())) / (24 * 60 * 60 * 1000)) + 1; | |
| 132 | + | |
| 133 | + // 根据情况,判断今天/昨天/前天 | |
| 134 | + if (nowDays === addDays && now.getFullYear() === add.getFullYear()) { // 今天 | |
| 135 | + result.year = ""; | |
| 136 | + result.day = ""; | |
| 137 | + result.date = (add.getHours() >= 10 ? add.getHours() : "0" + add.getHours()) + ":" + (add.getMinutes() >= 10 ? add.getMinutes() : "0" + add.getMinutes()); | |
| 138 | + } else if (nowDays > addDays && now.getFullYear() === add.getFullYear()) { // 正常大于,判断大于多少,设置昨天/前天/日期 | |
| 139 | + result.year = ""; | |
| 140 | + if (nowDays - addDays === 1) { | |
| 141 | + result.day = "昨天"; | |
| 142 | + result.date = (add.getHours() >= 10 ? add.getHours() : "0" + add.getHours()) + ":" + (add.getMinutes() >= 10 ? add.getMinutes() : "0" + add.getMinutes()); | |
| 143 | + } else if (nowDays - addDays === 2) { | |
| 144 | + result.day = "前天"; | |
| 145 | + result.date = (add.getHours() >= 10 ? add.getHours() : "0" + add.getHours()) + ":" + (add.getMinutes() >= 10 ? add.getMinutes() : "0" + add.getMinutes()); | |
| 146 | + } else { | |
| 147 | + result.day = ""; | |
| 148 | + result.date = (add.getMonth() + 1) + "-" + add.getDate() + " " + (add.getHours() >= 10 ? add.getHours() : "0" + add.getHours()) + ":" + (add.getMinutes() >= 10 ? add.getMinutes() : "0" + add.getMinutes()); | |
| 149 | + } | |
| 150 | + } else if (now.getFullYear() > add.getFullYear()) { // 跨年,判断设置年份和闰年等,设置昨天/前天/日期 | |
| 151 | + | |
| 152 | + // 设置年 | |
| 153 | + if (!this.years.includes(add.getFullYear())) { | |
| 154 | + result.year = add.getFullYear(); | |
| 155 | + this.years.push(add.getFullYear()); | |
| 156 | + } else { | |
| 157 | + result.year = ""; | |
| 158 | + } | |
| 159 | + | |
| 160 | + // 一年的天数 | |
| 161 | + let fullYearDay = 365; | |
| 162 | + | |
| 163 | + // 判断是否为闰年 | |
| 164 | + if (isLeapYear(add.getFullYear())) { | |
| 165 | + fullYearDay = 366; | |
| 166 | + } | |
| 167 | + | |
| 168 | + // 判断是夸一年还是多年 | |
| 169 | + if (now.getFullYear() - add.getFullYear() === 1) { | |
| 170 | + | |
| 171 | + // 设置昨天/前天/日期 | |
| 172 | + if (nowDays + fullYearDay - addDays === 1) { | |
| 173 | + result.day = "昨天"; | |
| 174 | + result.date = (add.getHours() >= 10 ? add.getHours() : "0" + add.getHours()) + ":" + (add.getMinutes() >= 10 ? add.getMinutes() : "0" + add.getMinutes()); | |
| 175 | + } else if (nowDays + fullYearDay - addDays === 2) { | |
| 176 | + result.day = "前天"; | |
| 177 | + result.date = (add.getHours() >= 10 ? add.getHours() : "0" + add.getHours()) + ":" + (add.getMinutes() >= 10 ? add.getMinutes() : "0" + add.getMinutes()); | |
| 178 | + } | |
| 179 | + } else { | |
| 180 | + result.day = ""; | |
| 181 | + result.date = (add.getMonth() + 1) + "-" + add.getDate(); | |
| 182 | + } | |
| 183 | + } | |
| 184 | + | |
| 185 | + return result; | |
| 186 | + } | |
| 187 | + } | |
| 188 | + }, | |
| 100 | 189 | components: { |
| 101 | 190 | userAvatar, |
| 102 | 191 | palaceGrid, |
| ... | ... | @@ -135,7 +224,7 @@ |
| 135 | 224 | */ |
| 136 | 225 | goodsPrimary(item) { |
| 137 | 226 | this.$emit("goodsPrimary", item); |
| 138 | - } | |
| 227 | + }, | |
| 139 | 228 | } |
| 140 | 229 | } |
| 141 | 230 | </script> | ... | ... |