Sometimes, we want to convert timestamp to relative time with JavaScript.
In this article, we’ll look at how to convert timestamp to relative time with JavaScript.
How to convert timestamp to relative time with JavaScript?
To convert timestamp to relative time with JavaScript, we use the Intl.RelativeTimeFormat
constructor.
For instance, we write
const units = [
["year", 31536000000],
["month", 2628000000],
["day", 86400000],
["hour", 3600000],
["minute", 60000],
["second", 1000],
];
const rtf = new Intl.RelativeTimeFormat("en", { style: "narrow" });
const relatime = (elapsed) => {
for (const [unit, amount] of units) {
if (Math.abs(elapsed) > amount || unit === "second") {
return rtf.format(Math.round(elapsed / amount), unit);
}
}
};
to create the rtf
RelativeTimeFormat
object.
Then we define the relatime
function that takes the elapsed
relative in milliseconds.
And then we use a for-of loop to loop through the units
array.
In the loop, we check if the absolute elapsed
amount is bigger than amount
or the unit
is 'second'
.
If either are true
, then we return the formatted elapsed
time we get with rtf.format
to format the elapsed
time to the unit
.
Conclusion
To convert timestamp to relative time with JavaScript, we use the Intl.RelativeTimeFormat
constructor.