From 82e2d11b2f21e19be05e2c5ac753d94b4aa7eb9d Mon Sep 17 00:00:00 2001 From: fatchan Date: Sun, 29 Dec 2019 06:21:45 +0100 Subject: [PATCH] relative time handle in-future cates for example dates in ban pages so tey say x time 'from now' --- gulp/res/js/time.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gulp/res/js/time.js b/gulp/res/js/time.js index aff373b8..9912bf04 100644 --- a/gulp/res/js/time.js +++ b/gulp/res/js/time.js @@ -18,9 +18,14 @@ const YEAR = 31536000000 , MINUTE = 60000; const relativeTimeString = (date) => { - const difference = Date.now() - new Date(date).getTime(); + let difference = Date.now() - new Date(date).getTime(); let amount = 0; let ret = ''; + let isFuture = false; + if (difference < 0) { + difference = Math.abs(difference); + isFuture = true; + } if (difference < MINUTE) { return 'Now'; } else if (difference < MINUTE*59.5) { @@ -39,9 +44,10 @@ const relativeTimeString = (date) => { amount = Math.round(difference / MONTH); ret = `${amount} month`; } else { - return '> 1 year ago'; + amount = Math.round(difference / YEAR); + return `${amount} year`; } - return `${ret}${amount > 1 ? 's' : ''} ago`; + return `${ret}${amount > 1 ? 's' : ''} ${isFuture ? 'from now' : 'ago'}`; } const changeDateFormat = (date) => {