[ javascript ] date 객체 초 분 시간 날짜 추가하기(더하기)
페이지 정보
작성자 웹지기 댓글 0건 조회 2,571회 작성일 20-05-26 13:39본문
<script>
/**
* Adds time to a date. Modelled after MySQL DATE_ADD function.
* Example: dateAdd(new Date(), 'minutes', 30) //returns 30 minutes from now.
*
* @param date Date to start with
* @param interval One of: year, quarter, month, week, day, hour, minute, second
* @param units Number of units of the given interval to add.
*/
function dateAdd(date, interval, units) {
var ret = new Date(date); //don't change original date
var checkRollover = function() { if(ret.getDate() != date.getDate()) ret.setDate(0);};
switch(interval.toLowerCase()) {
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;
}
return ret;
}
d = new Date('2016-02-29 12:00:00');
out('start: ' + d);
out('+1 year: ' + dateAdd(d, 'YEAR', 1));
out('+1 quarter: ' + dateAdd(d, 'QUARTER', 1));
out('+1 month: ' + dateAdd(d, 'MONTH', 1));
out('+1 week: ' + dateAdd(d, 'week', 1));
out('+1 day: ' + dateAdd(d, 'day', 1));
out('+1 hour: ' + dateAdd(d, 'hour', 1));
out('+1 minute: ' + dateAdd(d, 'minute', 1));
out('+1 second: ' + dateAdd(d, 'second', 1));
out('+1 garbage: ' + dateAdd(d, 'garbage', 1));
function out(s) {
document.getElementById('output').innerHTML += s + '<br/>';
}
</script>
html 부분
<div id="output"></div>
이 함수를 이용하여 원하는 값을 불러올 수가 있었다.
가져오는건 잘되고, 이제 계산된 값을 다시 최초에 넣었던
2016-02-29 12:00:00
이러한 형태로 불러올때는 다음과 같은 사항이 필요하다
ret.getFullYear()
ret.getMonth()+1 //달은 배열형식처럼 0부터 시작하므로 +1을 해주어야 숫자로 정상표기된다.
ret.getDate()
ret.getHours()
ret.getMinutes()
ret.getSeconds()
관련링크
댓글목록
등록된 댓글이 없습니다.