getNewDate
주어진 Date 객체나 날짜 문자열에 변형 함수를 적용하여 새로운 Date 객체를 반환하는 유틸리티 함수입니다.
Parameters
이름 | 타입 | 설명 | 기본값 |
---|---|---|---|
date | Date | string | 변형할 날짜 | - |
dateFn | (date: Date) => void | 날짜를 변형하는 함수 | - |
Return
Date
- 변형된 새로운 Date 객체
Usage
import { getNewDate } from '@teamsparta/utils';
// 기본 사용법
const tomorrow = getNewDate(new Date(), (date) => {
date.setDate(date.getDate() + 1);
});
// 문자열 날짜 사용
const nextMonth = getNewDate('2024-01-01', (date) => {
date.setMonth(date.getMonth() + 1);
});
Example
날짜 더하기
function addDays(date: Date, days: number) {
return getNewDate(date, (d) => {
d.setDate(d.getDate() + days);
});
}
시간 설정
function setTime(date: Date, hours: number, minutes: number) {
return getNewDate(date, (d) => {
d.setHours(hours);
d.setMinutes(minutes);
});
}
월 변경
function changeMonth(date: Date, monthOffset: number) {
return getNewDate(date, (d) => {
d.setMonth(d.getMonth() + monthOffset);
});
}
주의사항
- 원본 Date 객체는 변경되지 않고 새로운 Date 객체가 반환됩니다.
- 문자열로 날짜를 전달할 경우 유효한 날짜 형식이어야 합니다.
- dateFn 내부에서 반환값은 무시되며, 변형된 date 객체가 자동으로 반환됩니다.
- 날짜 변경 시 월말일 등의 경계값 처리에 주의가 필요합니다.