fromis_9/backend/src/utils/date.js
caadiq 85f03cb2d8 타임스탬프 KST 통일 및 Meilisearch 동기화 소요 시간 추가
- date.js: nowKST() 함수 추가
- 모든 타임스탬프를 UTC에서 KST(+09:00)로 변경
  - scheduler.js, bots.js, x/index.js, logger.js, app.js
- Meilisearch 봇에 동기화 소요 시간(ms) 추적 추가
- BotCard.jsx: 중복된 마지막 동기화 대신 소요 시간 표시

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 22:00:58 +09:00

48 lines
1 KiB
JavaScript

import dayjs from 'dayjs';
import utc from 'dayjs/plugin/utc.js';
import timezone from 'dayjs/plugin/timezone.js';
dayjs.extend(utc);
dayjs.extend(timezone);
const KST = 'Asia/Seoul';
/**
* UTC Date를 KST dayjs 객체로 변환
*/
export function toKST(date) {
return dayjs(date).tz(KST);
}
/**
* 날짜를 YYYY-MM-DD 형식으로 포맷 (KST)
*/
export function formatDate(date) {
return dayjs(date).tz(KST).format('YYYY-MM-DD');
}
/**
* 시간을 HH:mm:ss 형식으로 포맷 (KST)
*/
export function formatTime(date) {
return dayjs(date).tz(KST).format('HH:mm:ss');
}
/**
* 현재 KST 시간을 ISO 형식으로 반환
* 예: "2025-01-23T13:05:00+09:00"
*/
export function nowKST() {
return dayjs().tz(KST).format();
}
/**
* Nitter 날짜 문자열 파싱
* 예: "Jan 15, 2026 · 10:30 PM UTC"
*/
export function parseNitterDateTime(timeStr) {
if (!timeStr) return null;
const cleaned = timeStr.replace(' · ', ' ').replace(' UTC', '');
const date = new Date(cleaned + ' UTC');
return isNaN(date.getTime()) ? null : date;
}