http://www.oramaster.net 에서 펌

/**
* Copyright (c) 2000 by LG-EDS Systems Inc
* All rights reserved.
*
* 날짜관련 자바스크립트 공통함수
*
* 분단위 이하(= 초)는 고려하지 않았습니다.
* YYYYMMDDHHMI 형식의 String => ‘Time’으로 칭함
*
* 주로 YYYYMMDD 까지만 쓰인다면 아래 함수들을
* YYYYMMDD 형식의 String => ‘Date’로 하여 적당히
* 수정하시거나 아니면 함수를, 예를들어 isValidDate()처럼,
* 추가하시기 바랍니다.
*
* @version 2.0, 2001/01/28
* @author 박종진(JongJin Park), jongjpark@lgeds.lg.co.kr
*/

/**
* 유효한(존재하는) 월(月)인지 체크
*/
function isValidMonth(mm) {
var m = parseInt(mm,10);
return (m >= 1 && m = 1 && d = 1 && h = 1 && m = 1900 && isValidMonth(month) &&
isValidDay(year,month,day) && isValidHour(hour) &&
isValidMin(min)) {
return true;
}
return false;
}
/**
* Time 스트링을 자바스크립트 Date 객체로 변환
* parameter time: Time 형식의 String
*/
function toTimeObject(time) { //parseTime(time)
var year = time.substr(0,4);
var month = time.substr(4,2) – 1; // 1월=0,12월=11
var day = time.substr(6,2);
var hour = time.substr(8,2);
var min = time.substr(10,2);
return new Date(year,month,day,hour,min);
}
/**
* 자바스크립트 Date 객체를 Time 스트링으로 변환
* parameter date: JavaScript Date Object
*/
function toTimeString(date) { //formatTime(date)
var year = date.getFullYear();
var month = date.getMonth() + 1; // 1월=0,12월=11이므로 1 더함
var day = date.getDate();
var hour = date.getHours();
var min = date.getMinutes();
if ((“” + month).length == 1) { month = “0” + month; }
if ((“” + day).length == 1) { day = “0” + day; }
if ((“” + hour).length == 1) { hour = “0” + hour; }
if ((“” + min).length == 1) { min = “0” + min; }
return (“” + year + month + day + hour + min)
}
/**
* Time이 현재시각 이후(미래)인지 체크
*/
function isFutureTime(time) {
return (toTimeObject(time) > new Date());
}
/**
* Time이 현재시각 이전(과거)인지 체크
*/
function isPastTime(time) {
return (toTimeObject(time) 2000/01/01 00:00 으로부터 100일 전 Time
*/
function shiftTime(time,y,m,d,h) { //moveTime(time,y,m,d,h)
var date = toTimeObject(time);
date.setFullYear(date.getFullYear() + y); //y년을 더함
date.setMonth(date.getMonth() + m); //m월을 더함
date.setDate(date.getDate() + d); //d일을 더함
date.setHours(date.getHours() + h); //h시를 더함
return toTimeString(date);
}
/**
* 두 Time이 몇 개월 차이나는지 구함
* time1이 time2보다 크면(미래면) minus(-)
*/
function getMonthInterval(time1,time2) { //measureMonthInterval(time1,time2)
var date1 = toTimeObject(time1);
var date2 = toTimeObject(time2);
var years = date2.getFullYear() – date1.getFullYear();
var months = date2.getMonth() – date1.getMonth();
var days = date2.getDate() – date1.getDate();
return (years * 12 + months + (days >= 0 ? 0 : -1) );
}
/**
* 두 Time이 며칠 차이나는지 구함
* time1이 time2보다 크면(미래면) minus(-)
*/
function getDayInterval(time1,time2) {
var date1 = toTimeObject(time1);
var date2 = toTimeObject(time2);
var day = 1000 * 3600 * 24; //24시간
return parseInt((date2 – date1) / day, 10);
}
/**
* 두 Time이 몇 시간 차이나는지 구함
* time1이 time2보다 크면(미래면) minus(-)
*/
function getHourInterval(time1,time2) {
var date1 = toTimeObject(time1);
var date2 = toTimeObject(time2);
var hour = 1000 * 3600; //1시간
return parseInt((date2 – date1) / hour, 10);
}
/**
* 현재 시각을 Time 형식으로 리턴
*/
function getCurrentTime() {
return toTimeString(new Date());
}
/**
* 현재 시각과 y년 m월 d일 h시 차이나는 Time을 리턴
*/
function getRelativeTime(y,m,d,h) {
/*
var date = new Date();
date.setFullYear(date.getFullYear() + y); //y년을 더함
date.setMonth(date.getMonth() + m); //m월을 더함
date.setDate(date.getDate() + d); //d일을 더함
date.setHours(date.getHours() + h); //h시를 더함
return toTimeString(date);
*/
return shiftTime(getCurrentTime(),y,m,d,h);
}
/**
* 현재 年을 YYYY형식으로 리턴
*/
function getYear() {
/*
var now = new Date();
return now.getFullYear();
*/
return getCurrentTime().substr(0,4);
}
/**
* 현재 月을 MM형식으로 리턴
*/
function getMonth() {
/*
var now = new Date();
var month = now.getMonth() + 1; // 1월=0,12월=11이므로 1 더함
if ((“” + month).length == 1) { month = “0” + month; }
return month;
*/
return getCurrentTime().substr(4,2);
}
/**
* 현재 日을 DD형식으로 리턴
*/
function getDay() {
/*
var now = new Date();
var day = now.getDate();
if ((“” + day).length == 1) { day = “0” + day; }
return day;
*/
return getCurrentTime().substr(6,2);
}
/**
* 현재 時를 HH형식으로 리턴
*/
function getHour() {
/*
var now = new Date();
var hour = now.getHours();
if ((“” + hour).length == 1) { hour = “0” + hour; }
return hour;
*/
return getCurrentTime().substr(8,2);
}
/**
* 오늘이 무슨 요일이야?
* ex) alert(‘오늘은 ‘ + getDayOfWeek() + ‘요일입니다.’);
* 특정 날짜의 요일을 구하려면? => 여러분이 직접 만들어 보세요.
*/
function getDayOfWeek() {
var now = new Date();
var day = now.getDay(); //일요일=0,월요일=1,…,토요일=6
var week = new Array(‘일’,’월’,’화’,’수’,’목’,’금’,’토’);
return week[day];
}