[JavaScript] Intl.RelativeTimeFormat

찐새·2022년 12월 2일
0

Javascript

목록 보기
5/11
post-thumbnail

1시간 전, 3개월 전 등 상대적인 시간을 표기하고 싶다면 JavaScript의 내장 API인 IntlRelativeTimeFormat을 사용한다.

usage

const relativeFormatter = new Intl.RelativeTimeFormat("ko", {
    numeric: "always",
  });

const ago = relativeFormatter.format(-1, "day");
const zero = relativeFormatter.format(0, "day");
const after = relativeFormatter.format(1, "day");
console.log(ago, zero, after); // 1일 전 0일 후 1일 후

format의 첫 인자는 상대적인 시간의 숫자를, 두 번째 인자는 날짜 단위를 요구한다.

example

2022-11-02에 게시된 글의 상대적 시간을 '~일 전'으로 표시

const started = new Date("2022-11-02");
const today = new Date();
const relativeFormatter = new Intl.RelativeTimeFormat("ko", {
    numeric: "always",
  });
const daysPassed = Math.ceil(
    (started.getTime() - today.getTime()) / (1000 * 60 * 60 * 24)
  );
const daysAgo = relativeFormatter.format(daysPassed, "day");

console.log(daysAgo); // 30일 전

참고
드림코딩 - 자바스크립트로 코딩할때 꿀팁 🍯🐝
MDN - Intl.RelativeTimeFormat

profile
프론트엔드 개발자가 되고 싶다

0개의 댓글