Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | 7x 4x 1x 1x 4x 1x 1x 1x 1x 4x 4x 4x 4x 40x 1x 39x 39x 39x 39x 1x 38x 1x 1x 37x 2x 2x 35x 2x 2x 33x | const padWithZero = (n) => { return n < 10 ? '0' + n : n; } const timestampToDate = (timestamp) => { var date = new Date(timestamp); return (date.getFullYear() + "-" + (padWithZero(date.getMonth()+1)) + "-" + padWithZero(date.getDate())); } const daysSinceTimestamp = (date) => { var today = new Date(); var startingDate = new Date(date); var timeDiff = Math.abs(today.getTime() - startingDate.getTime()); return Math.ceil(timeDiff / (1000 * 3600 * 24)); } const minutesInSeconds = 60; const hourInSeconds = 60 * minutesInSeconds; const dayInSeconds = 24 * hourInSeconds; const weekInSeconds = 7 * dayInSeconds; export function formatTime(timeString) { if (!timeString) { return ""; } const now = new Date(); const dateFromEpoch = new Date(timeString); const secondsPast = Math.floor((now - dateFromEpoch) / 1000); if (secondsPast < minutesInSeconds * 2) { return 'Online now'; } if (secondsPast < hourInSeconds) { const minutes = Math.floor(secondsPast / 60); return `${minutes} minutes ago`; } if (secondsPast < dayInSeconds) { const hours = Math.floor(secondsPast / 3600); return `${hours} hour${hours > 1 ? 's' : ''} ago`; } if (secondsPast < weekInSeconds) { const days = Math.floor(secondsPast / 86400); return `${days} day${days > 1 ? 's' : ''} ago`; } return dateFromEpoch.toLocaleDateString(); } export {timestampToDate, padWithZero, daysSinceTimestamp}; |