diff options
Diffstat (limited to 'src/utils.pug')
-rw-r--r-- | src/utils.pug | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/src/utils.pug b/src/utils.pug index f3f61bb..81cf3f7 100644 --- a/src/utils.pug +++ b/src/utils.pug | |||
@@ -1,3 +1,28 @@ | |||
1 | - var fmtnum = (n)=>n>=1000?(n/1000).toFixed(1)+'k':n; | 1 | - var fmtnum = (n)=>n>=1000?(n/1000).toFixed(1)+'k':n; |
2 | - var fmttxt = (n,t)=>`${t}${n==1?'':'s'}` | 2 | - var fmttxt = (n,t)=>`${t}${n==1?'':'s'}` |
3 | 3 | - var stripPrefix = (s, p) => s.startsWith(p) ? s.slice(p.length) : s; | |
4 | - | ||
5 | function timeDifference(current, previous) { | ||
6 | if (!current || !previous) { | ||
7 | return ''; | ||
8 | } | ||
9 | var msPerMinute = 60 * 1000; | ||
10 | var msPerHour = msPerMinute * 60; | ||
11 | var msPerDay = msPerHour * 24; | ||
12 | var msPerMonth = msPerDay * 30; | ||
13 | var msPerYear = msPerDay * 365; | ||
14 | var elapsed = current - previous; | ||
15 | if (elapsed < msPerMinute) { | ||
16 | return Math.round(elapsed/1000) + 's'; | ||
17 | } else if (elapsed < msPerHour) { | ||
18 | return Math.round(elapsed/msPerMinute) + 'min'; | ||
19 | } else if (elapsed < msPerDay ) { | ||
20 | return Math.round(elapsed/msPerHour ) + 'h'; | ||
21 | } else if (elapsed < msPerMonth) { | ||
22 | return Math.round(elapsed/msPerDay) + 'd'; | ||
23 | } else if (elapsed < msPerYear) { | ||
24 | return Math.round(elapsed/msPerMonth) + 'mo'; | ||
25 | } else { | ||
26 | return Math.round(elapsed/msPerYear ) + 'y'; | ||
27 | } | ||
28 | } | ||