Nexus File Manager
v2.0
🏠
Dashboard
⚡
System
🌐
›
usr
›
lib
›
node_modules
›
npm
›
node_modules
›
tiny-relative-date
›
src
Quick:
⬆️ Parent
🌐 Root
🏠 Home
🌍 WWW
📁 Temp
⚙️ Etc
📤 Upload
📁 Create
⚡ WordPress Admin
🔄 Refresh
✏️ factory.js
← Back
const calculateDelta = (now, date) => Math.round(Math.abs(now - date) / 1000) export default function relativeDateFactory (translations) { return function relativeDate (date, now = new Date()) { if (!(date instanceof Date)) { date = new Date(date) } let delta = null const minute = 60 const hour = minute * 60 const day = hour * 24 const week = day * 7 const month = day * 30 const year = day * 365 delta = calculateDelta(now, date) if (delta > day && delta < week) { date = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0) delta = calculateDelta(now, date) } const translate = (translatePhrase, timeValue) => { let key if (translatePhrase === 'justNow') { key = translatePhrase } else if (now >= date) { key = `${translatePhrase}Ago` } else { key = `${translatePhrase}FromNow` } const translation = translations[key] if (typeof translation === 'function') { return translation(timeValue) } return translation.replace('{{time}}', timeValue) } switch (false) { case !(delta < 30): return translate('justNow') case !(delta < minute): return translate('seconds', delta) case !(delta < 2 * minute): return translate('aMinute') case !(delta < hour): return translate('minutes', Math.floor(delta / minute)) case Math.floor(delta / hour) !== 1: return translate('anHour') case !(delta < day): return translate('hours', Math.floor(delta / hour)) case !(delta < day * 2): return translate('aDay') case !(delta < week): return translate('days', Math.floor(delta / day)) case Math.floor(delta / week) !== 1: return translate('aWeek') case !(delta < month): return translate('weeks', Math.floor(delta / week)) case Math.floor(delta / month) !== 1: return translate('aMonth') case !(delta < year): return translate('months', Math.floor(delta / month)) case Math.floor(delta / year) !== 1: return translate('aYear') default: return translate('overAYear') } } }
💻
System Info
Current path
/usr/lib/node_modules/npm/node_modules/tiny-relative-date/src
Contents
0 folders, 2 files
Disk free
100.66 GB
PHP version
8.3.30
🚀
Quick Actions
📍 Script location
🌐 Web root
🗑️ Temp
📁 /usr/lib/node_modules/npm/node_modules/tiny-relative-date/src
⚡ Nexus File Manager • 2 items