반응형
# 년도, 날짜 관련 스크립트
## 올 년도
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 |
---|---|
< > 등 각종 부호의 의미 (0) | 2021.02.24 |
css !important (0) | 2021.02.17 |
table 여백 없애기 (0) | 2021.02.15 |
토드 쿼리 자동정렬 (0) | 2021.02.10 |