← Examples

Epoch · local date

로컬 타임존 기준으로, 로케일이 ko이면 YYYY.MM.DD, 그 외에는 Intl 긴 월·일·연 형식을 쓰고 프리셋으로 시간·요일·짧은 연도·ISO 날짜 표시를 바꿉니다. 서버 타임스탬프(Epoch/ISO)든 Date.now()든 모두 로컬 타임존 기준으로 변환합니다.

앱 로케일 (useLocale)
ko
timeZone

프리셋

  • dateDotTime2426.05.01 00:00
  • dateDotOnly2026.05.01
  • dateDotWeekdayTime242026.05.01 (금) 00:00
  • monthDayWeekdayLong5월 1일 금요일
  • dateDotShortOnly26.05.01
  • dateDotShortWeekdayOnly26.05.01(금)
  • dateIsoOnly2026-05-01

샘플 (프리셋별)

Epoch (ms)날짜만날짜+24h날짜+(요일)+24hYY.MM.DD비고
17775936000002026.05.0126.05.01 00:002026.05.01 (금) 00:0026.05.012026-05-01 00:00 UTC
19249919999992030.12.3130.12.31 23:592030.12.31 (화) 23:5930.12.31연말 UTC
15922098000002020.06.1520.06.15 08:302020.06.15 (월) 08:3020.06.15시간 포함

직접 입력

ms
1777593600000
formatEpochMs(ms, preset)
26.05.01 00:00

dateIsoOnly (필터용 YYYY-MM-DD)

<input type="date"> 기본값·API 쿼리에 쓰는 로컬 달력 날짜입니다. rolling 기간 시작일은 feature 쪽에서 epoch ms를 계산한 뒤 dateIsoOnly로 포맷합니다.

formatEpochMs(Date.now(), "dateIsoOnly")
2026-07-28
formatEpochMs(rollingStartMs, "dateIsoOnly")
2026-03-01

코드

import {
  formatEpochMs,
  formatIsoEpochMs,
  type FormatEpochMsAdminPreset,
} from "@/shared/lib/formatEpochMs";
import { useLocale } from "next-intl";

const locale = useLocale();

// UI 표시 — 서버 Epoch/ISO → 로컬 표시
formatEpochMs(response.dueAt, "dateDotWeekdayTime24", locale);
formatIsoEpochMs(response.lastSavedAt, "dateDotShortOnly");
formatIsoEpochMs(response.lastSavedAt, "monthDayWeekdayLong", locale);

// date input / API query — Date.now()도 동일 API
formatEpochMs(Date.now(), "dateIsoOnly");
아트봉봉스쿨

아트봉봉스쿨은더 큰 화면에서 쓸 수 있어요