コードをコピーコードは次のとおりです:
//------------------------------------------ ------ ----------
// うるう年の決定
//--------------------- ----------- -----------------------
Date.prototype.isLeap Year = function()
{
return (0==this .get Year()%4&&((this.get Year()0!=0)||(this.get Year()@0==0));
}
//--- -------------------------------------- -------
// 日付の形式
// 形式 YYYY/yyyy/YY/yy は年を表します
// MM/M 月
// W/w 週
// dd/DD/d/D 日付
// hh/HH/h/H 時間
// mm/m 分
// ss/SS/s/S 秒
// -------- -------------------------------------- ---
Date.prototype.Format = function(formatStr)
{
var str = formatStr;
var Week = ['日','一','二','三' ,'四','五','六'];
str=str.replace(/yyyy|YYYY/,this.getFullyear()); |YY/,(this.getyear()) % 100)>9?(this.getyear() % 100).toString():'0' (this.getyear() % 100)); 🎜>str=str.replace(/MM/ ,this.getMonth()>9?this.getMonth().toString():'0' this.getMonth()); /M/g,this.getMonth()) ;
str=str.replace(/w|W/g,Week[this.getDay()]); .replace(/dd|DD/,this.getDate()>9?this.getDate().toString():'0' this.getDate()); D/g,this.getDate());
str=str.replace(/hh|HH/,this.getHours()>9?this.getHours().toString():'0 ' this.getHours());
str=str.replace(/h|H/g,this.getHours());
str=str.replace(/mm/,this.getMinutes()> ;9?this.getMinutes().toString( ):'0' this.getMinutes());
str=str.replace(/m/g,this.getMinutes()); str=str.replace(/ss|SS/ ,this.getSeconds()>9?this.getSeconds().toString():'0' this.getSeconds()); /s|S/g,this.getSeconds( ));
return str;
// --------------- ----------- ------------------------
//| 2 つの時刻間の日数の差を求めます。日付の形式は YYYY-MM-dd
/ /-------------------------------------- です。 ------------- --
function daysBetween(DateOne,DateTwo)
{
var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ('-')) ;
var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ('-') 1);
var OneDay = 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 '/' One Year)- Date.parse( TwoMonth '/' TwoDay '/' Two Year))/86400000 );
return Math.abs(cha)
}
// ------------ ----------- ------------------------
//| 日付計算
// ---------- --------------------------------------
Date.prototype.DateAdd = function (strInterval, Number) {
var dtTmp = this;
switch (strInterval) {
case 's' :return new Date(Date.parse(dtTmp)) (1000 * 数値));
case 'n' :return new Date(Date.parse(dtTmp) (60000 * Number));
case 'h' :return new Date(Date.parse(dtTmp) (3600000 * Number));
case 'd' :return new Date(Date.parse(dtTmp) (86400000 * Number)); ((86400000 * 7) * Number)) ;
case 'q' :return new Date(dtTmp.getFull Year(), (dtTmp.getMonth()) Number*3, dtTmp.getDate(), dtTmp.getHours( ), dtTmp.getMinutes(), dtTmp.getSeconds());
case 'm' :return new Date(dtTmp.getFull Year(), (dtTmp.getMonth()) Number, dtTmp.getDate(), dtTmp. getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
case 'y' :return new Date((dtTmp.getFull Year() 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' :return parseInt(( dtEnd - dtStart) / 1000);
case 'n' :return parseInt((dtEnd - dtStart) / 60000);
case 'h' :return parseInt((dtEnd - dtStart) / 3600000); >case 'd' :return parseInt((dtEnd - dtStart ) / 86400000);
case 'w' :return parseInt((dtEnd - dtStart) / (86400000 * 7)); return (dtEnd.getMonth() 1) ((dtEnd.getFull Year()-dtStart.getFull Year())*12) - (dtStart.getMonth() 1); - dtStart.getFullyear();
}
}
//------------------------------------------ --- --------
//| システムの toString メソッドをオーバーロードした日付出力文字列
// ------- ----------------------------------
Date.prototype.toString = function(showWeek)
{
var myDate= this;
var str = myDate.toLocaleDateString();
if (showWeek)
{
var Week = ['Day','Monday','Two' , 'three','four','five','six'];
str = 'week' Week[myDate.getDay()];
return
}
// -------------------------------------- ---- -------
//| 日付の正当性検証
//| 形式は YYYY-MM-DD または YYYY/MM/DD
// ---- ----------------------------------------------------
function IsValidDate(DateStr )
{
var sDate=DateStr.replace(/(^s |s $)/g,''); //両側のスペースを削除します。 =='') return 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.get Year() || ar[1] != t.getMonth() 1 || ar[2] != t.getDate())
{
//alert('日付形式が間違っています!形式は、YYYY-MM-DD または YYYY/MM/DD です。閏年に注意してください。 ');
return false;
}
}
else
{
//alert('日付の形式が間違っています! 形式は YYYY-MM-DD または YYYY/MM /DD。閏年に注意してください。');
戻り値
}
戻り値
}
// ------------------ -----------------------------
//| 日付と時刻のチェック
//| : YYYY-MM-DD HH:MM:SS
// ---------------------------------- ----------------
関数 CheckDateTime(str)
{
var reg = /^(d )-(d{ 1,2 })-( d{ 1,2 }) (d{ 1,2 }):(d{ 1,2 }):(d{ 1,2 })$/; 🎜>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.getFull Year()!=r[1])return false; [2]) false を返す;
if(d.getDate()!=r[3]) false を返す;
if(d.getHours()!=r[4]) false を返す; if(d.getMinutes()!=r[5])return false;
if(d.getSeconds()!=r[6])return true;
//------------------------------------------ --- ------
//| 日付を配列に分割します
// ------------------------ --- -----------------------
Date.prototype.toArray = function()
{
var myDate = this;
var myArray = Array();
myArray[0] = myDate.getFullyear();
myArray[1] = myDate.getMonth(); );
myArray[3] = myDate.getHours();
myArray[4] = myDate.getMinutes();
myArray[5] = myDate.getSeconds();
}
// -------------------------------------- ---- ----------
//| 日付データ情報を取得します
//| パラメータの間隔はデータ型を表します
//|週 ww 週 h 時 n 分 s 秒
//-------------------------------------- --------- ---------
Date.prototype.DatePart = function(interval)
{
var myDate = this; ';
var Week = [ '日','一','二','三','四','五','六'];
スイッチ(間隔)
{
ケース 'y' :partStr = myDate.getFull Year();break;
ケース 'm' :partStr = myDate.getMonth() 1;break;
ケース 'd' :partStr = myDate.getDate( );break;
case ' w' :partStr = Week[myDate.getDay()];break;
case 'ww' :partStr = myDate.WeekNumOf Year();break; :partStr = myDate.getHours(); Break;
case 'n' :partStr = myDate.getMinutes();break;
case 's' :partStr = myDate.getSeconds();break; }
partStr を返す
}
// ----------------------------- --------- ----------
//| 現在の日付の月の最大日数を取得します
// ------- ------------- -----------------------------
Date.prototype .MaxDayOfDate = function()
{
var myDate = this;
var ary = myDate.toArray();
var date1 = (new Date(ary[0],ary[1] 1) ,1));
var date2 = dateAdd(1,'m',1);
var result = date1.Format('yyyy-MM-dd'),date2.Format(' yyyy-MM-dd'));
結果を返します
}
// ----------------------- --------------- ---------------
//| 現在の日付が属する年の週を取得します。
// ---------- ----------------------------------- -----
Date.prototype.WeekNumOf Year = function ()
{
var myDate = this;
var ary = myDate.toArray();
var year = ary[0] ];
var month = ary[1] 1;
var day = ary[2];
document.write('< script language=VBScript> n'); ('myDate = DateValue('' 月 '-' 日 '- ' 年 '') n');
document.write('result = DatePart('ww', myDate) n'); .write(' n');
結果を返します
}
// ------------------------ --------------- ------------
//| 文字列を日付型に変換します
//| 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]); >}
myDate を返す
}