JavaScript Date 개체에 30분을 추가하려면 다음을 수행하세요. 다음 단계를 따르세요.
라이브러리 사용
다음 단계를 따르세요. 많은 날짜 작업을 수행하는 경우 Luxon, Day.js 또는 Moment.js와 같은 JavaScript 날짜 라이브러리를 살펴보는 것이 좋습니다. 예를 들어 Moment.js의 경우 다음과 같습니다.
var newDateObj = moment(oldDateObj).add(30, 'm').toDate();
Vanilla JavaScript
혼돈의 대답과 같지만 한 줄로 말하면:
var newDateObj = new Date(oldDateObj.getTime() diff*60000);
diff는 oldDateObj의 시간과 원하는 분 단위의 차이입니다. 음수일 수도 있습니다.
또는 재사용 가능한 함수로, 여러 위치에서 이 작업을 수행해야 하는 경우:
function addMinutes(date, Minutes) {
return new Date(date.getTime() + minutes*60000);
}
이것이 명확하지 않은 경우를 대비하여 분에 60000을 곱하는 이유는 분을 밀리초.
바닐라 자바스크립트에 주의하세요. 날짜는 어렵습니다!
날짜에 24시간을 추가하면 내일 날짜를 얻을 수 있다고 생각할 수도 있겠죠? 틀렸습니다!
사용자가 일광 절약 시간을 준수하면 하루가 반드시 24시간은 아닌 것으로 나타났습니다. 1년에 23시간인 하루가 있고, 25시간인 하루가 있습니다. 예를 들어, 대부분의 미국과 캐나다에서는 2014년 11월 2일 자정으로부터 24시간이 지난 후에도 여전히 11월 2일입니다.
const NOV = 10; //JS 달이 1개월 차이가 나기 때문입니다...
addMinutes(new Date(2014, NOV, 2), 60*24); //미국에서는 11월 3일 오전 12시가 아닌 11월 2일 오후 11시를 인쇄합니다!
이러한 작업을 많이 해야 한다면 앞서 언급한 라이브러리 중 하나를 사용하는 것이 더 안전한 방법입니다.
아래는 제가 작성한 이 함수의 보다 일반적인 버전입니다. 나는 여전히 라이브러리를 사용하는 것을 권장하지만 이는 프로젝트에 과도하거나 불가능할 수 있습니다. 구문은 MySQL DATE_ADD 함수를 모델로 합니다.
/**
return undefined;
var ret = new Date(date); //원래 날짜를 변경하지 마세요
case 'year' : ret.setFullYear(ret.getFullYear() + units); checkRollover(); break; case 'quarter': ret.setMonth(ret.getMonth() + 3*units); checkRollover(); break; case 'month' : ret.setMonth(ret.getMonth() + units); checkRollover(); break; case 'week' : ret.setDate(ret.getDate() + 7*units); break; case 'day' : ret.setDate(ret.getDate() + units); break; case 'hour' : ret.setTime(ret.getTime() + units*3600000); break; case 'minute' : ret.setTime(ret.getTime() + units*60000); break; case 'second' : ret.setTime(ret.getTime() + units*1000); break; default : ret = undefined; break;
}
반환 ret;
위 내용은 JavaScript 날짜 개체에 30분을 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!