Commit d2041471138f6850349f4cd0ae9cf56d8d0bf188
1 parent
b2391629
update Time
Showing
2 changed files
with
15 additions
and
12 deletions
Show diff stats
examples/routers/time.vue
... | ... | @@ -4,16 +4,16 @@ |
4 | 4 | <br> |
5 | 5 | <Time :time="time2" /> |
6 | 6 | <br> |
7 | - <Time :time="time3" :interval="60" /> | |
7 | + <Time :time="time3" :interval="1" /> | |
8 | 8 | </div> |
9 | 9 | </template> |
10 | 10 | <script> |
11 | 11 | export default { |
12 | 12 | data () { |
13 | 13 | return { |
14 | - time1: (new Date()).getTime() - 60 * 1 * 1000, | |
14 | + time1: (new Date()).getTime() - 60 * 59 * 1000, | |
15 | 15 | time2: (new Date()).getTime() - 86400 * 3 * 1000, |
16 | - time3: new Date() | |
16 | + time3: (new Date()).getTime() - 1 * 1000 | |
17 | 17 | } |
18 | 18 | } |
19 | 19 | } | ... | ... |
src/components/time/time.js
... | ... | @@ -51,11 +51,13 @@ export const getRelativeTime = timeStamp => { |
51 | 51 | // 判断当前传入的时间戳是秒格式还是毫秒 |
52 | 52 | const IS_MILLISECOND = true; |
53 | 53 | // 如果是毫秒格式则转为秒格式 |
54 | - if (IS_MILLISECOND) Math.floor(timeStamp /= 1000); | |
54 | + // if (IS_MILLISECOND) Math.floor(timeStamp /= 1000); | |
55 | 55 | // 传入的时间戳可以是数值或字符串类型,这里统一转为数值类型 |
56 | - timeStamp = Number(timeStamp); | |
56 | + // timeStamp = Number(timeStamp); | |
57 | 57 | // 获取当前时间时间戳 |
58 | - const currentTime = Math.floor(Date.parse(new Date()) / 1000); | |
58 | + // const currentTime = Math.floor(Date.parse(new Date()) / 1000); | |
59 | + const currentTime = (new Date()).getTime(); | |
60 | + | |
59 | 61 | // 判断传入时间戳是否早于当前时间戳 |
60 | 62 | const IS_EARLY = isEarly(timeStamp, currentTime); |
61 | 63 | // 获取两个时间戳差值 |
... | ... | @@ -64,17 +66,18 @@ export const getRelativeTime = timeStamp => { |
64 | 66 | if (!IS_EARLY) diff = -diff; |
65 | 67 | let resStr = ''; |
66 | 68 | const dirStr = IS_EARLY ? '前' : '后'; |
69 | + | |
70 | + if (diff < 1000) resStr = '刚刚'; | |
67 | 71 | // 少于等于59秒 |
68 | - if (diff < 1) resStr = '刚刚'; | |
69 | - else if (diff <= 59) resStr = parseInt(diff) + '秒' + dirStr; | |
72 | + else if (diff < 60000) resStr = parseInt(diff / 1000) + '秒' + dirStr; | |
70 | 73 | // 多于59秒,少于等于59分钟59秒 |
71 | - else if (diff > 59 && diff <= 3599) resStr = Math.ceil(diff / 60) + '分钟' + dirStr; | |
74 | + else if (diff >= 60000 && diff < 3600000) resStr = Math.floor(diff / 60000) + '分钟' + dirStr; | |
72 | 75 | // 多于59分钟59秒,少于等于23小时59分钟59秒 |
73 | - else if (diff > 3599 && diff <= 86399) resStr = Math.ceil(diff / 3600) + '小时' + dirStr; | |
76 | + else if (diff >= 3600000 && diff < 86400000) resStr = Math.floor(diff / 3600000) + '小时' + dirStr; | |
74 | 77 | // 多于23小时59分钟59秒,少于等于29天59分钟59秒 |
75 | - else if (diff > 86399 && diff <= 2623859) resStr = Math.ceil(diff / 86400) + '天' + dirStr; | |
78 | + else if (diff >= 86400000 && diff < 2623860000) resStr = Math.floor(diff / 86400000) + '天' + dirStr; | |
76 | 79 | // 多于29天59分钟59秒,少于364天23小时59分钟59秒,且传入的时间戳早于当前 |
77 | - else if (diff > 2623859 && diff <= 31567859 && IS_EARLY) resStr = getDate(timeStamp); | |
80 | + else if (diff >= 2623860000 && diff <= 31567860000 && IS_EARLY) resStr = getDate(timeStamp); | |
78 | 81 | else resStr = getDate(timeStamp, 'year'); |
79 | 82 | return resStr; |
80 | 83 | }; | ... | ... |