41 lines
906 B
JavaScript
41 lines
906 B
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');
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 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;
|
||
|
|
}
|