오랫동안? 머리아팠던 난제가 풀렸다.

문제의 배경
차량 대여 서비스를 구현하는 중에 UTC 시간으로 입력된 날짜를 KST로 변환해야 했다. API에서는 KST 형식으로 날짜를 요구했기 때문에, 이를 제대로 처리하지 않으면 예상치 못한 오류가 발생할 수 있다.
const toKoreanTime = (dateString: string | number | Date) => {
const date = new Date(dateString);
const utcDate = date.getTime(); // UTC 시간
const kstDate = new Date(utcDate + 9 * 3600000); // KST로 변환 (UTC+9)
return kstDate.toISOString(); // ISO 문자열로 반환
};
변환된 KST 날짜를 API 요청의 파라미터로 전달하기 위해 다음과 같이 코드를 작성
const params: Record<string, string> = {
pickUpAt: toKoreanTime(dateRange[0]),
dropOffAt: toKoreanTime(dateRange[1]),
// 기타 파라미터 설정...
};