Relative timestamps with Intl
With JavaScript’s built-in formatter for relative timestamps, we can build strings like “2 months from now” without having to use third party libraries.
JavaScript
Read fire tipThis little helper can split arrays into the first X elements and “the rest”. You could use it to show the first five photos from a list and a link that says “27 more photos”.
// takes an array and the number of elements to extract from the start
const spliceHead = (array, sizeOfHead) => {
// create a copy, because `.splice()` changes the array in place
const copy = [...array]
// cut the first `sizeOfHead` elements from the array and store them
const head = copy.splice(0, sizeOfHead)
// return TWO arrays: the first `sizeOfHead` elements and “the rest”
return [head, copy]
}
// this can split an array into “the first three, and everything else”
spliceHead(['John', 'Paul', 'George', 'Ringo'], 3)
// ⇒ [ ['John', 'Paul', 'George'], ['Ringo'] ]
// we can assign the results to two variables with destructuring
const [head, rest] = spliceHead(['Bibidi', 'Babidi', 'Boo'], 2)
console.log(`${head[0]}, ${head[1]}, and ${rest.length} more`)
// ⇒ 'Bibidi, Babidi, and 1 more'
With JavaScript’s built-in formatter for relative timestamps, we can build strings like “2 months from now” without having to use third party libraries.