We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 566873a commit 40bea40Copy full SHA for 40bea40
2 files changed
src/plugin/relativeTime/index.js
@@ -37,14 +37,15 @@ export default (o, c, d) => {
37
let out
38
39
for (let i = 0; i < Tl; i += 1) {
40
- const t = T[i]
+ let t = T[i]
41
if (t.d) {
42
result = isFrom
43
? d(input).diff(instance, t.d, true)
44
: instance.diff(input, t.d, true)
45
}
46
- const abs = Math.ceil(Math.abs(result))
+ const abs = Math.round(Math.abs(result))
47
if (abs <= t.r || !t.r) {
48
+ if (abs === 1) t = T[i - 1] // 1 minutes -> a minute
49
out = loc[t.l].replace('%d', abs)
50
break
51
test/plugin/relativeTime.test.js
@@ -17,16 +17,28 @@ it('Time from X', () => {
17
const T = [
18
[0, 'second'], // a few seconds
19
[44, 'second'], // a few seconds
20
+ [44.4, 'second'], // a few seconds
21
+ [44.5, 'second'], // a minute
22
[45, 'second'], // a minute
23
[89, 'second'], // a minute
24
+ [89.4, 'second'], // a minute
25
+ [89.5, 'second'], // a minute
26
[90, 'second'], // 2 minutes
27
[44, 'minute'], // 44 minutes
28
+ [44.4, 'minute'],
29
+ [44.5, 'minute'],
30
[45, 'minute'], // an hour
31
[89, 'minute'], // an hour
32
+ [89.4, 'minute'],
33
+ [89.5, 'minute'],
34
[90, 'minute'], // 2 hours
35
[21, 'hour'], // 21 hours
36
+ [21.4, 'hour'],
+ [21.5, 'hour'],
[22, 'hour'], // a day
[35, 'hour'], // a day
+ [35.4, 'hour'],
+ [35.5, 'hour'],
[36, 'hour'], // 2 days
[25, 'day'], // 25 days
[26, 'day'], // a month
0 commit comments