/*
* 입력한 날짜(yyyyMMdd)가 유효한 날짜인지 검사
*/
function is_valid_date(date_str)
{
var yyyyMMdd = String(date_str);
var year = yyyyMMdd.substring(0,4);
var month = yyyyMMdd.substring(4,6);
var day = yyyyMMdd.substring(6,8);
if (!is_number(date_str) || date_str.length!=8)
return false;
if (Number(month)>12 || Number(month)<1)
return false;
if (Number(last_day(date_str))<day)
return false;
return true;
}
/*
* yyyy-MM-dd 날짜문자열을 Date형으로 반환
*/
function to_date2(date_str)
{
var yyyyMMdd = String(date_str);
var sYear = yyyyMMdd.substring(0,4);
var sMonth = yyyyMMdd.substring(5,7);
var sDate = yyyyMMdd.substring(8,10);
//alert("sYear :"+sYear +" sMonth :"+sMonth + " sDate :"+sDate);
return new Date(Number(sYear), Number(sMonth)-1, Number(sDate));
}
/*
* 일차이 : date2(일) - date1(일)
*/
function between_date(date1, date2)
{
var y1970 = new Date(1970, 0, 1).getTime();
var time1 = null;
var time2 = null;
if(date1.length > 8)
time1 = to_date2(date1).getTime() - y1970;
else
time1 = to_date(date1).getTime() - y1970;
if(date2.length > 8)
time2 = to_date2(date2).getTime() - y1970;
else
time2 = to_date(date2).getTime() - y1970;
var per_day = 1000 * 60 * 60 * 24; // 1일 밀리초
return Math.floor(time1/per_day) - Math.floor(time2/per_day);
}
/*
* yyyyMMdd 날짜문자열을 Date형으로 반환
*/
function to_date(date_str)
{
var yyyyMMdd = String(date_str);
var sYear = yyyyMMdd.substring(0,4);
var sMonth = yyyyMMdd.substring(4,6);
var sDate = yyyyMMdd.substring(6,8);
return new Date(Number(sYear), Number(sMonth)-1, Number(sDate));
}
/*
* yyyyMMdd 날짜문자열을 gubun으로 포맷을 변경
*/
function to_date_format(date_str, gubun)
{
var yyyyMMdd = String(date_str);
var sYear = yyyyMMdd.substring(0,4);
var sMonth = yyyyMMdd.substring(4,6);
var sDate = yyyyMMdd.substring(6,8);
return sYear + gubun + sMonth + gubun + sDate;
}
/*
* Date형을 yyyyMMdd형의 문자열로 변환
*/
function get_date_str(date)
{
var sYear = date.getFullYear();
var sMonth = date.getMonth() + 1;
var sDate = date.getDate();
sMonth = sMonth > 9 ? sMonth : "0" + sMonth;
sDate = sDate > 9 ? sDate : "0" + sDate;
return sYear + sMonth + sDate;
}
/*
* Date형을 구분자로 구분된 형식의 날짜 문자열 변환
*/
function get_date_str_gubun(date, gubun)
{
var sYear = date.getFullYear();
var sMonth = date.getMonth() + 1;
var sDate = date.getDate();
sMonth = sMonth > 9 ? sMonth : "0" + sMonth;
sDate = sDate > 9 ? sDate : "0" + sDate;
return sYear + gubun + sMonth + gubun + sDate;
}
/*
* 오늘날짜를 yyyyMMdd형의 문자열로 변환
*/
function get_today()
{
return get_date_str(new Date());
}
/*
* 주어진 날짜가 윤년인지를 검사
*/
function is_leap_year(date_str)
{
var year = date_str.substring(0,4);
if (year%4 == 0)
{
if (year%100 == 0)
return (year%400 == 0);
else
return true;
}
else
return false;
}
/*
* 주어진 날짜(yyyyMMdd, yyyyMM) 그 달의 마지막 날짜를 반환
*/
function last_day(date_str)
{
var yyyyMMdd = String(date_str);
var days = "31";
var year = yyyyMMdd.substring(0,4);
var month = yyyyMMdd.substring(4,6);
if (Number(month) == 2)
{
if (is_leap_year(year+month+"01"))
days = "29";
else
days = "28";
}
else if (Number(month) == 4 || Number(month) == 6 || Number(month) == 9 || Number(month) == 11)
days = "30";
return days;
}
/*
* 오늘날짜 중 Year반환
*/
function get_today_year()
{
var today = new Date();
return today.getYear();
}
/*
* 오늘날짜 중 Month반환. format: MM
*/
function get_today_month()
{
var today = new Date();
return (today.getMonth()+1) > 9 ? (today.getMonth()+1) : "0" + (today.getMonth()+1)
}
* 입력한 날짜(yyyyMMdd)가 유효한 날짜인지 검사
*/
function is_valid_date(date_str)
{
var yyyyMMdd = String(date_str);
var year = yyyyMMdd.substring(0,4);
var month = yyyyMMdd.substring(4,6);
var day = yyyyMMdd.substring(6,8);
if (!is_number(date_str) || date_str.length!=8)
return false;
if (Number(month)>12 || Number(month)<1)
return false;
if (Number(last_day(date_str))<day)
return false;
return true;
}
/*
* yyyy-MM-dd 날짜문자열을 Date형으로 반환
*/
function to_date2(date_str)
{
var yyyyMMdd = String(date_str);
var sYear = yyyyMMdd.substring(0,4);
var sMonth = yyyyMMdd.substring(5,7);
var sDate = yyyyMMdd.substring(8,10);
//alert("sYear :"+sYear +" sMonth :"+sMonth + " sDate :"+sDate);
return new Date(Number(sYear), Number(sMonth)-1, Number(sDate));
}
/*
* 일차이 : date2(일) - date1(일)
*/
function between_date(date1, date2)
{
var y1970 = new Date(1970, 0, 1).getTime();
var time1 = null;
var time2 = null;
if(date1.length > 8)
time1 = to_date2(date1).getTime() - y1970;
else
time1 = to_date(date1).getTime() - y1970;
if(date2.length > 8)
time2 = to_date2(date2).getTime() - y1970;
else
time2 = to_date(date2).getTime() - y1970;
var per_day = 1000 * 60 * 60 * 24; // 1일 밀리초
return Math.floor(time1/per_day) - Math.floor(time2/per_day);
}
/*
* yyyyMMdd 날짜문자열을 Date형으로 반환
*/
function to_date(date_str)
{
var yyyyMMdd = String(date_str);
var sYear = yyyyMMdd.substring(0,4);
var sMonth = yyyyMMdd.substring(4,6);
var sDate = yyyyMMdd.substring(6,8);
return new Date(Number(sYear), Number(sMonth)-1, Number(sDate));
}
/*
* yyyyMMdd 날짜문자열을 gubun으로 포맷을 변경
*/
function to_date_format(date_str, gubun)
{
var yyyyMMdd = String(date_str);
var sYear = yyyyMMdd.substring(0,4);
var sMonth = yyyyMMdd.substring(4,6);
var sDate = yyyyMMdd.substring(6,8);
return sYear + gubun + sMonth + gubun + sDate;
}
/*
* Date형을 yyyyMMdd형의 문자열로 변환
*/
function get_date_str(date)
{
var sYear = date.getFullYear();
var sMonth = date.getMonth() + 1;
var sDate = date.getDate();
sMonth = sMonth > 9 ? sMonth : "0" + sMonth;
sDate = sDate > 9 ? sDate : "0" + sDate;
return sYear + sMonth + sDate;
}
/*
* Date형을 구분자로 구분된 형식의 날짜 문자열 변환
*/
function get_date_str_gubun(date, gubun)
{
var sYear = date.getFullYear();
var sMonth = date.getMonth() + 1;
var sDate = date.getDate();
sMonth = sMonth > 9 ? sMonth : "0" + sMonth;
sDate = sDate > 9 ? sDate : "0" + sDate;
return sYear + gubun + sMonth + gubun + sDate;
}
/*
* 오늘날짜를 yyyyMMdd형의 문자열로 변환
*/
function get_today()
{
return get_date_str(new Date());
}
/*
* 주어진 날짜가 윤년인지를 검사
*/
function is_leap_year(date_str)
{
var year = date_str.substring(0,4);
if (year%4 == 0)
{
if (year%100 == 0)
return (year%400 == 0);
else
return true;
}
else
return false;
}
/*
* 주어진 날짜(yyyyMMdd, yyyyMM) 그 달의 마지막 날짜를 반환
*/
function last_day(date_str)
{
var yyyyMMdd = String(date_str);
var days = "31";
var year = yyyyMMdd.substring(0,4);
var month = yyyyMMdd.substring(4,6);
if (Number(month) == 2)
{
if (is_leap_year(year+month+"01"))
days = "29";
else
days = "28";
}
else if (Number(month) == 4 || Number(month) == 6 || Number(month) == 9 || Number(month) == 11)
days = "30";
return days;
}
/*
* 오늘날짜 중 Year반환
*/
function get_today_year()
{
var today = new Date();
return today.getYear();
}
/*
* 오늘날짜 중 Month반환. format: MM
*/
function get_today_month()
{
var today = new Date();
return (today.getMonth()+1) > 9 ? (today.getMonth()+1) : "0" + (today.getMonth()+1)
}
'잼있냐JavaScript > 유용한 자바스크립트 UTIL' 카테고리의 다른 글
checkbox radio select 유용한 스크립트 7 (0) | 2008.10.22 |
---|---|
메시지 관련 스크립트 - 유용한 스크립트 6 (0) | 2008.10.22 |
쿠키 제어 -유용한 스크립트 4 (0) | 2008.10.22 |
문자열 변환 및 숫자열 변환 관련 - 유용한 스크립트 3 (0) | 2008.10.22 |
유효성검사 스크립트 - 유용한 자바스크립트 2 (0) | 2008.10.22 |