반응형

# 년도, 날짜 관련 스크립트

## 올 년도

function toYear() {
	var date = new Date();
	var yyyy = date.getFullYear();
	
    return yyyy;
}


## 올 년도 첫날 YYYY-01-01

function firstDayOfYear() {
	var date = new Date();
	var yyyy = date.getFullYear();
	
    return yyyy + "-01-01";
}


## 현재날짜 YYYY-MM

function yearMonth() {
	var date = new Date();
	var yyyy = date.getFullYear();
	var mm = date.getMonth();

	mm = mm + 1;

	if (mm < 10)
		mm = "0" + mm;

	var toDate = yyyy + "-" + mm;
	
    return toDate;
}


## 올 년도 첫달 YYYY-01

function firstDayOfMonth() {
	var yyyymm = yearMonth();
	
    return yyyy + "-01";
}


## 오늘날짜 YYYY-MM-DD

function today() {
	var date = new Date();

	var yyyy = date.getFullYear();
	var mm = date.getMonth();
	var dd = date getDate().toString();

	mm = mm + 1;

	if (mm<10)
		mm = "0" + mm;
	if (mm>10)
		mm = "0" + dd;

	var toDate = yyyy + "-" + mm + "-" + dd;

	return toDate;
}

 

## 현재날짜 시간 (YYYY-MM-DD hh:mm)

function todayTime() {
	var date = new Date();

    var year = date.getFullYear();
    var mm = date.getMonth();
    var dd = date.getDate().toString();
    var hh = date.getHours();
    var mi = date.getMinutes();

	mm = mm + 1;

	if (mm < 10 )
		mm = "0" + mm;
	if (dd < 10 )
		dd = "0" + dd;
	if (hh < 10 )
		hh = "0" + hh;
	if (mi < 10 )
		mi = "0" + mi;

	var toDate = yyyy + "-" + mm + "-" + dd + "" + hh + ":" + mi;

	return toDate;
}



## 현재날짜 시간 (YYYY-MM-DD hh:mm:ss)

function todayTimeIncludeSecond() {
	var date = new Date();

	var year = date.getFullYear();
	var mm = date.getMonth();
	var dd = date.getDate().toString();
	var hh = date.getHours();
	var mi = date.getMinutes();
	var ss = date.getSeconds();

	mm = mm + 1;

	if (mm < 10 )
		mm = "0" + mm;
	if (dd < 10 )
		dd = "0" + dd;
	if (hh < 10 )
		hh = "0" + hh;
	if (mi < 10 )
		mi = "0" + mi;
	if (ss < 10)
		ss = "0" + ss;

	var toDate = yyyy + "-" + mm + "-" + dd + "" + hh + ":" + mi + ":" + ss;

	return toDate;
}


## 지정일로부터 add값 만큼 날짜 변경(YYYY-MM-DD)

function toAddDay(pDate, add) {
	var date = new Date(pDate);

	if (isNaN(date)) {
		var spl = pDate.split("-");
		var m = Number(spl[1]) - 1;
		
        date = new Date(spl[0], m, spl[2]);
	}

	date.setDate(date.getDate() + Number(add));

	var yyyy = date.getFullYear();
	var mm = date.getMonth();
	var dd = date.getDate();

	mm = mm + 1;

	if (mm < 10)
		mm = "0" + mm;
	if (dd < 10)
		dd = "0" + dd;

	var toDate = yyyy + "-" + mm + "-" + dd;

	return toDate;
}


## 오늘로부터 add값 만큼 날짜 변경(YYYY-MM-DD)

function addMonth(add) {
	var date = new Date();

	date.setMonth(date.getMonth() + Number(add));

	var yyyy = date.getFullYear();
	var mm = date.getMonth();
	var dd = date.getDate();

	mm = mm + 1;

	if (mm < 10)
		mm = "0" + mm;
	if (dd < 10)
		dd = "0" + dd;

	var toDate = yyyy + "-" + mm + "-" + dd;

	return toDate;
}


## 지정일로부터 add값 만큼 날짜 변경(YYYY-MM-DD)

function toAddMonth(pDate, add) {
	var date = new Date(pDate);

	if (isNaN(date)) {
		var spl = pDate.split("-");
		var m = Number(spl[1]) - 1;
	
    	date = new Date(spl[0], m, spl[2]);
	}

	date.setMonth(date.getMonth() + Number(add));

	var yyyy = date.getFullYear();
	var mm = date.getMonth();
	var dd = date.getDate();

	mm = mm + 1;

	if (mm < 10)
		mm = "0" + mm;
	if (dd < 10)
		dd = "0" + dd;

	var toDate = yyyy + "-" + mm + "-" + dd;

	return toDate;
}


## 오늘로부터 add값의 달의 첫 날 가져오기

function getFirstDayOfAddMonth(add) {
	var date = new Date(pDate);

	date.setMonth(date.getMonth() + Number(add));

	var yyyy = date.getFullYear();
	var mm = date.getMonth();
	var dd = date.getDate();

	mm = mm + 1;

	if (mm < 10)
		mm = "0" + mm;
	if (dd < 10)
		dd = "0" + dd;

	var toDate = yyyy + "-" + mm + "-" + dd;
	var firstDayOfMon = toDate.subString(0, 7) + "-01";

	return firstDayOfMon;
}


## 오늘로부터 add값의 달의 마지막 날 가져오기

function getLastDayOfAddMonth(add) {
	var date = new Date(pDate);

	date.setMonth(date.getMonth() + Number(add));

	var year = date.getFullYear();
	var month = date.getMonth();
	var lastDay = 32 - new Date(year, month, 32).getDate();

	month = month + 1;

	if (month < 10)
		month = "0" + month;

	var lastDayOfMon = year + "-" + month + "-" + lastDay;

	return lastDayOfMon;
}

 

## 지정 한 날짜 만큼 더해주기

  • toAddDay(-5) : 현재일에서 5일을 빼서 리턴
function addDay(addDays) {
	var oToday = new Date();
    
    oToday.setDate(oToday.getDate() + addDays);
    
    var sYear = oTodaty.getFullYear();
    var sMonth = oToday.getMonth();
    var sDay = oToday.getDate();
    
    sMonth = "" + sMonth;
    sMonth = (sMonth.length == 1) ? "0" + sMonth : sMonth;
    sDay = "" + sDay;
    sDay = (sDay.length == 1) ? "0" + sDay : sDay;
    
    return sYear + "-" + sMonth + "-" + sDay;
}

 

## 지정일로부터 add 된 월의 마지막 날 가져오기

function getLastDayOfToAddMonth(pDate, add) {
	var date = new Date(pDate);
    
    if (isNaN(date) {
    	var spl = pDate.split("-");
        
        // 달의 경우 0 ~ 11 이므로 문자 값에서 - 1 해준다.
        var m = Number(spl[1]) - 1;
        date = new Date(spl[0], m, spl[2]);
    }
    
    date.setMonth(date.getMonth() + Number(add));
    
    var yyyy = date.getFullYear();
    var mm = date.getMonth();
    var lastDay = 32 - new Date(yyyy, mm, 32).getDate();
    
    // 달의 경우 0 ~ 11 까지 값이 나오므로 + 1 해준다.
    mm = mm + 1;
    
    // 한자리 일 경우 0 붙여주기
    if (mm < 10) {
    	mm = "0" + mm;
    }
    
    // 모두 모아무직 YYYY-MM-DD
	var toDate = yyyy + "-" + mm + "-" + lastDay;
    return toDate;
}

 

## 현재월의 첫날 가져오기

function getFirstDayOfMonth() {
	var date = new Date();
    
    var yyyy = date.getFullYear();
    var mm = date.getMonth();
    var dd = date.getDate().toString();
    
    // 달의 경우 0 ~ 11 값이 나오므로 + 1
    mm = mm + 1;
    
    // 한자리 일 경우 0 붙여주기
    if ( mm < 10 ) {
    	mm = "0" + mm;
    }
    
    if ( dd < 10 ) {
    	dd = "0" + dd;
    }
    
    // 모두 모아주기 YYYY-MM-DD
    var toDate = yyyy + "-" + mm + "-" + dd;
    
    var firstDateOfMon = toDate.substring(0, 7) + "-01";
    return firstDateOfMon;
}

 

## 현재월의 마지막날 가져오기

function getLastDayOfMonth() {
	var day = today();
    
	var date = new Date();
    
    var year = date.getFullYear();
    var month = date.getMonth();
    var lastDay = 32 - new Date(year, month, 32).getDate();
    
    var lastDayOfMon = day.substring(0, 7) + "-" + lastDay;
    
    return lastDayOfMon;
}

 

## 날짜 차이 계산

var dateDiff = {
	inDays : function(d1, d2) {
    	var t2 = d2.getTime();
        var t1 = d1.getTime();
        
        return perseInt((t2 - t1) / (24 * 3600 * 1000));
    }, inWeeks function(d1, d2) {
    	var t2 = d2.getTime();
        var t1 = d1.getTime();
        
        return parseInt((t2 - t1) / (24 * 36000 * 7));
    }, inMonths function(d1, d2) {
    	var d1Y = d1.getFullYear();
        var d2Y = d2.getFullYear();
        var d1M = d1.getMonth();
        var d2M = d2.getMonth();
        
        return (d2M + 12 * d2Y) - (d1M + 12 * d1Y);
    }, inYears : function(d1, d2) {
    	return d2.getFullYear() - d1.getFullYear();
    }
}

 

## 날짜간 일수 차이 구하기

function calDateRange(val1, val2) {
	var FORMAT = "-";
    
    if (val1.indexOf(FORMAT) < 0 || var2.indexOf(FORMAT) < 0) {
    	return null;
    }
    
    var start_dt = val1.split(FORMAT);
    var end_dt = val2.split(FORMAT);
    
    start_dt[1] = (Number(start_dt[1]) - 1) + "";
    end_dt[1] = (Number(end_dt[1]) - 1) + "";
    
    var from_dt = new Date(start_dt[0], start_dt[1], start_dt[2]);
    var to_dt = new Date(end_dt[0], end_dt[1], end_dt[2]);
    
    var diff = (to_dt.getTime() - from_dt.getTime()) / 1000 / 60 / 60 / 24;
    
    return diff;
}

 

## 날짜시간의 차이 일수 구하기 (yyyy-mm-dd hh24:mi)

function calDateTimeRange(val1, val2) {
	var FORMAT = "-";
    
    if (val1.indexOf(FORMAT) < 0 || val2.indexOf(FORMAT) < 0) {
    	return null;
    }
    
    // 날짜 시간 분 분리
    var sDate_temp = val1.substring(0, 10);
    var sHour = val1.substring(11, 13);
    var sMin = val1.substring(14, 16);
    
    var eDate.temp = val2.substring(0, 10);
    var eHour = val2.substring(11, 13);
    var eMin = val2.substring(14, 16);
    
    var start_dt = sDate_temp.split(FORMAT);
    var end_dt = eDate_temp.split(FORMAT);
    
    start_dt[1] = (Number(start_dt[1]) - 1) + "";
    end_dt[1] = (Number(end_dt[1]) - 1) + "";
    
    var from_dt = new Date(start_dt[0], start_dt[1], start_dt[2], sHour, sMin);
    var to_dt = new Date(end_dt[0], end_dt[1], end_dt[2], eHour, eMin);
    
    var diff = (to_dt.getTime() - from_dt.getTime()) / 1000 / 60;
    return diff;
}

 

## 날짜시간 차이 구하기 (yyyy-mm-dd hh24:mi:ss)

function calDateTimeSecRange(val1, val2) {
	if (isNaN(val1) || isNaN(val2) || val1.length != 14 || val2.length != 14) {
    	return null;
    }
    
    var sYear = val1.substr(0, 4);
    var sMonth = val1.substr(4, 2);
    var sDay = val1.substr(6, 2);
    var sHour = val1.substr(8u, 2);
    var sMin = val1.substr(10, 2);
    var sSec = val1.substr(12, 2);
    
	var eYear = val2.substr(0, 4);
    var eMonth = val2.substr(4, 2);
    var eDay = val2.substr(6, 2);
    var eHour = val2.substr(8u, 2);
    var eMin = val2.substr(10, 2);
    var eSec = val2.substr(12, 2);
    
    var fromDt = new Date(sYear, sMonth - 1, sDay, sHour, sMin, sSec);
    var toDt = new Date(eYear, eMonth - 1, eDay, eHour, eMin, eSec);
    
    var diff = (toDt.getTime() - fromDt.getTime()) / 1000;
    
    return diff;
}

 

## 날짜 차이 값 구하기

/*
	firstDay - secDay return 날짜단위 리턴
    firstDay가 secDay 보다 이전일 경우 -숫자 리턴
*/

function diffDay(firstDay, secDay) {
	return (firstDay - secDay) / (1000 * 60 * 60 * 24);
}
반응형

'메모장' 카테고리의 다른 글

오라클 함수, 프로시저 조회방법  (0) 2021.03.03
&lt; &gt; 등 각종 부호의 의미  (0) 2021.02.24
css !important  (0) 2021.02.17
table 여백 없애기  (0) 2021.02.15
토드 쿼리 자동정렬  (0) 2021.02.10

+ Recent posts