// 자바스크립트 문서
//----------------------------------- - ---------------
// 윤년 결정
//--------- -- ----------------
Date.prototype.isLeapYear = function() {
return (0 == this.getYear()%4&&((this.getYear() 0!=0)||(this.getYear()@0==0)))
}
// - ------------------------------------------------- -
// 날짜 형식
// YYYY/yyyy/YY/yy 형식은 연도를 나타냅니다
// MM/M 월
// W/w 주
// dd/DD/ d/D 날짜
// hh/HH/h/H 시간
// mm/m 분
// ss/SS/s/S 초
//------ -------------------
// 날짜 확장, 날짜를 지정된 형식의 문자열로 변환
// 월(M), 일(d), 시(h), 분(m), 초(s), 분기(q)는 1 - 사용 가능 2개의 자리 표시자,
// 연도(y)는 1~4개의 자리 표시자를 사용할 수 있으며, 밀리초(S)는 1개의 자리 표시자(1~3자리 숫자)만 사용할 수 있습니다.
// 예:
// ( new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
// (new Date()).Format ("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
Date.prototype.Format = function(fmt)
{ //작성자: meizz
var o = {
"M " : this.getMonth() 1, //월
"d " : this.getDate(), //Day
"h " : this.getHours() , //Hours
"H " : this.getHours(), //Hours
"m " : this.getMinutes(), //Minutes
" s " : this.getSeconds(), / /초
"q " : Math.floor((this.getMonth() 3)/3), //분기
"S" : this.getMilliseconds() //밀리초
}
if(/(y )/.test(fmt))
fmt=fmt.replace(RegExp.$1, (this.getFullYear() "").substr(4 - RegExp.$1.length))
for(var k in o)
if(new RegExp("(" k ")").test(fmt))
fmt = fmt.replace( RegExp.$1, (RegExp.$1.length ==1) ? (o[k]) : (("00" o[k]).substr(("" o[k]).length))); 🎜>
/**
* 날짜 확장, 날짜를 지정된 형식의 문자열로 변환
* 월(M), 일(d), 12시간(h), 24시간(H), 분(m), 초(초) , 주(E), 분기(q)는 1~2개의 자리 표시자를 사용할 수 있습니다.
* 연도(y)는 1~4개의 자리 표시자를 사용할 수 있으며, 밀리초(S)는 1개의 자리 표시자 기호만 사용할 수 있습니다(1~3자리 숫자입니다). )
* 예:
* (new Date()).pattern("yyyy-MM-dd hh:mm:ss.S") ==> 2006- 07-02 08:09:04.423
* (new Date()).pattern("yyyy-MM-dd E HH:mm:ss") ==> 2009-03-10 Tuesday 20:09:04
* (new Date() ).pattern("yyyy-MM-dd EE hh:mm:ss") ==> 2009-03-10 Tuesday 08:09:04
* (new Date( )).pattern("yyyy-MM -dd EEE hh:mm:ss") ==> 2009-03-10 화요일 08:09:04
* (new Date()).pattern("yyyy- M-d h:m:s.S") = => 2006-7-2 8:9:4.18
*/
Date.prototype.pattern=function(fmt) {
var o = {
"M " : this.getMonth() 1, // Month
"d " : this.getDate(), //Day
"h " : this.getHours() == 0 ? 12 : this.getHours( ), //hours
"H " : this.getHours(), //시간
"m " : this.getMinutes(), //분
"s " : this.getSeconds() , //초
"q " : 수학 .floor((this.getMonth() 3)/3), //분기
"S" : this.getMilliseconds() //밀리초
}
var week = {
"0 " : "/u65e5",
"1" : "/u4e00",
"2" : "/u4e8c",
"3" : "/u4e09",
"4" : "/u56db",
"5" : "/u4e94",
"6" : "/u516d"
}
if( /(y )/.test(fmt)){
fmt=fmt.replace(RegExp.$1, (this.getFullYear() "").substr(4 - RegExp.$1.length))
}
if(/(E )/. 테스트(fmt)){
fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "/u661f/u671f" : "/u5468" ) : "") week[this.getDay() ""]);
}
for(var k in o){
if(new RegExp("(" k ")").test (fmt)){
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (( "00" o[k]).substr(( "" o[k]).length)));
}
}
return fmt
}
/ ---------- -------------------------------------- --
//| 날짜 형식은 YYYY-MM-dd입니다.
// ---------- -------- ---------------------
함수 daysBetween(DateOne,DateTwo)
{
var OneMonth = DateOne .substring(5,DateOne.lastIndexOf ('-'));
var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ('-') 1)
var OneYear = DateOne.substring( 0,DateOne.indexOf ('- '));
var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ('-'))
var TwoDay = DateTwo.substring(DateTwo.length ,DateTwo.lastIndexOf ('-' ) 1);
var TwoYear = DateTwo.substring(0,DateTwo.indexOf ('-'))
var cha=((Date.parse(OneMonth '/' OneDay '/' OneYear); .parse(TwoMonth '/' TwoDay '/' TwoYear))/86400000)
return Math.abs(cha);
// ----------------------------- ---------
//| 日期计算
// ------------------------------ --------
Date.prototype.DateAdd = function(strInterval, Number) {
var dtTmp = this;
스위치(strInterval) {
case 's' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes( ), dtTmp.getSeconds() 번호); //秒
case 'n' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes() Number, dtTmp. getSeconds()); //분할
case 'h' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()), dtTmp.getDate(), dtTmp.getHours() Number, dtTmp.getMinutes(), dtTmp. getSeconds()); //时
case 'd' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()), dtTmp.getDate() Number, dtTmp.getHours(), dtTmp.getMinutes(), dtTmp. getSeconds()); //하늘
case 'w' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()), dtTmp.getDate() Number*7, dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); //周
case 'q' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) Number*3, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());//季degree
case 'm' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) Number, dtTmp.getDate(), dtTmp.getHours(), dtTmp .getMinutes(), dtTmp.getSeconds()); //月
case 'y' :return new Date((dtTmp.getFullYear() Number), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp. getSeconds()); //年
}
}
// ------------------ -------
//| 比较日期差 dtEnd 格式为日期型或者 有效日期格式字符串
// ------------------ -------
Date.prototype.DateDiff = function(strInterval, dtEnd) {
var dtStart = this;
if (typeof dtEnd == 'string' )//如果是字符串转换为日期型
{
dtEnd = StringToDate(dtEnd);
}
switch (strInterval) {
case 's' :returnparseInt((dtEnd - dtStart) / 1000);
case 'n' :return parsInt((dtEnd - dtStart) / 60000);
case 'h' :return parsInt((dtEnd - dtStart) / 3600000);
case 'd' :return parsInt((dtEnd - dtStart) / 86400000);
case 'w' :return parsInt((dtEnd - dtStart) / (86400000 * 7));
case 'm' :return (dtEnd.getMonth() 1) ((dtEnd.getFullYear()-dtStart.getFullYear())*12) - (dtStart.getMonth() 1);
case 'y' :return dtEnd.getFullYear() - dtStart.getFullYear();
}
}
// ---------------------------------- -----------------
//| 日期输了系统的toString방법
// --------------------------------- ------------------
Date.prototype.toString = function(showWeek)
{
var myDate= this;
var str = myDate.toLocaleDateString();
if (showWeek)
{
var Week = ['日','一','two','三','4','五','六'];
str = ' 星期' Week[myDate.getDay()];
}
return str;
}
// ------------------------- -------------
//| 日期합법성验证
//| 格式为:YYYY-MM-DD或YYYY/MM/DD
// ------------------------------- -------
function IsValidDate(DateStr)
{
var sDate=DateStr.replace(/(^s |s $) /g,''); //去两边空格;
if(sDate=='')는 true를 반환합니다.
//如果格式满足YYYY-(/)MM-(/)DD或YYYY-(/)M-(/)DD或YYYY-(/)M-(/)D或YYYY-(/)MM -(/)D就替换为''
//数据库中,합법일期可以是:YYYY-MM/DD(2003-3/21),数据库会自动转换为YYYY-MM-DD格式
var s = sDate.replace(/[d]{ 4,4 }[-/]{ 1 }[d]{ 1,2 }[-/]{ 1 }[d]{ 1,2 }/g,' ');
if (s=='') //说明格式满足YYYY-MM-DD或YYYY-M-DD或YYYY-M-D或YYYY-MM-D
{
var t=new Date( sDate.replace(/-/g,'/'));
var ar = sDate.split(/[-/:]/);
if(ar[0] != t.getYear() || ar[1] != t.getMonth() 1 || ar[2] != t.getDate())
{
//alert('오늘의 날짜는 다음과 같습니다!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。');
거짓을 반환합니다.
}
}
else
{
//alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。');
false 반환
}
true 반환
}
// ------------------ ------------------
//| 날짜 및 시간 확인
//| : YYYY-MM-DD HH:MM:SS
// ---------------------------------- ----------------
function CheckDateTime(str)
{
var reg = /^(d )-(d{ 1,2 })-( d{ 1,2 }) (d{ 1,2 }):(d{ 1,2 }):(d{ 1,2 })$/
var r = str.match(reg); 🎜>if(r==null)return false
r[2]=r[2]-1
var d= new Date(r[1],r[2],r[3] ,r[4],r[5],r[6]);
if(d.getFullYear()!=r[1])return false
if(d.getMonth()!=r; [2])return false;
if(d.getDate()!=r[3])return false
if(d.getHours()!=r[4])return false; if(d.getMinutes()!=r[5])return false;
if(d.getSeconds()!=r[6])return false
return true;
//---------------------------------- --- ------
//| 날짜를 배열로 분할
// ------------ --- ----------
Date.prototype.toArray = function()
{
var myDate = this;
var myArray = Array();
myArray[0] = myDate.getFullYear();
myArray[1] = myDate.getMonth()
myDate.getDate( );
myArray[3] = myDate.getHours();
myArray[4] = myDate.getMinutes();
myArray[5] = myDate.getSeconds();
}
// ------------------------- ---- ----------
//| 날짜 데이터 정보 가져오기
//| 매개변수 간격은 데이터 유형을 나타냅니다.
//| 주 ww 주 h 시간 n 분 초
//-------------------------------------- --------- ---------
Date.prototype.DatePart = 함수(간격)
{
var myDate = this
var partStr=' ';
var Week = [ '일','일','이','삼','사','오','六']
전환(간격)
{
case 'y' :partStr = myDate.getFullYear();break;
case 'm' :partStr = myDate.getMonth() 1;break
case 'd' :partStr = myDate.getDate( );break;
case 'w' :partStr = Week[myDate.getDay()];break
case 'ww' :partStr = myDate.WeekNumOfYear();break; :partStr = myDate.getHours();
case 'n' :partStr = myDate.getMinutes();break
case 's' :partStr = myDate.getSeconds();break; }
partStr 반환
}
// ------------------ --------- ----------
//| 현재 날짜의 월 최대 일수를 가져옵니다.
// ------- ------------- ------------------
날짜.프로토타입 .MaxDayOfDate = function()
{
var myDate = this;
var ary = myDate.toArray()
var date1 = (new Date(ary[0],ary[1] 1 ,1));
var date2 = date1.dateAdd(1,'m',1);
var result = dateDiff(date1.Format('yyyy-MM-dd'),date2.Format(' yyyy-MM-dd'));
결과 반환
}
// ----------------------- ---- ---------------
//| 문자열을 날짜 유형으로 변환
//| MM/dd/YYYY MM-dd-YYYY YYYY/MM/dd YYYY -MM-dd
// ------------ ---- ----------
function StringToDate(DateStr)
{
var Converted = Date.parse(DateStr );
var myDate = new Date(converted);
if (isNaN(myDate))
{
//var delimCahar = DateStr.indexOf('/')!=-1?' /':'-';
var arys= DateStr.split( '-');
myDate = new Date(arys[0],--arys[1],arys[2]); >}
return myDate;
}
페이지 확인 코드
코드 복사
코드는 다음과 같습니다.