Date.prototype.isLeapyear 閏年を決定する
Date.prototype.Format 日付の書式設定
Date.prototype.DateAdd 日付の計算
Date.prototype.DateDiff 日付の差を比較
Date.prototype.toString 日付と文字String
Date.prototype.toArray 日付を配列に分割します
Date.prototype.DatePart 日付情報の一部を取得します
Date.prototype.MaxDayOfDate 日付が存在する月の最大日数を取得しますlocated
Date.prototype.WeekNumOfyear 判定 日付が位置する年の週
StringToDate 日付型への文字列
IsValidDate 日付の有効性を検証
CheckDateTime 日付と時刻のチェックを完了
日付と日付の間の日数日差
//------------------------------------------ ------ ----------
// うるう年の決定
//--------------------- ----------- -----------------------
Date.prototype.isLeap Year = 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 秒
//- ------------ -------------------------------------- -------
Date.prototype.Format = function(formatStr )
{
var str = formatStr
var Week = ['日','一','二' ,'三','四','五','六']
str=str.replace(/yyyy|YYYY/,this.getFullyear()); yy|YY/,(this.getyear() % 100)>9?( this.getyear() % 100).toString():'0' (this.getyear() % 100)); =str.replace(/MM/,this.getMonth()>9?this .getMonth().toString():'0' this.getMonth()); g,this.getMonth());
str=str.replace(/ w|W/g,Week[this.getDay()]);
str=str.replace(/dd|DD/, this.getDate()>9?this.getDate().toString(): '0' this.getDate());
str=str.replace(/d|D/g,this.getDate() );
str=str.replace(/hh|HH/,this.getHours()>9?this.getHours().toString():'0' this.getHours()); =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());
str=str.replace(/s|S/g,this.getSeconds()); 🎜>return str;
}
// ----- ----------------------------- ----------------
/ /| 2 つの時刻間の日数の差を求めます。日付形式は YYYY-MM-dd です。
// ----- ----------------------- -----------------------
関数daysBetween(DateOne,DateTwo)
{
var OneMonth = DateOne.substring(5,DateOne .lastIndexOf ('-'));
var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ( '-') 1);
var One Year = DateOne.substring(0,DateOne.indexOf ( '-'));
var TwoMonth = 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 * Number)); new Date(Date.parse(dtTmp) (60000 * Number));
case 'h' :return new Date(Date.parse(dtTmp) (3600000 * Number)); new Date(Date.parse(dtTmp) (86400000 * Number));
case 'w' :return new Date(Date.parse( dtTmp) ((86400000 * 7) * Number)); 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); ' :return parseInt((dtEnd - dtStart) / (86400000 * 7));
case 'm' :return (dtEnd.getMonth() 1) ((dtEnd.getFull Year()-dtStart.getFull Year())* 12) - (dtStart.getMonth() 1);
case 'y' :return dtEnd.getFull Year() - dtStart.getFull Year ();
//------------------------------------------ ------
//| システムの toString メソッドをオーバーロードした日付出力文字列
// ------------------------ -- -----------------------------
Date.prototype.toString = function(showWeek)
{
var myDate= this;
var str = myDate.toLocaleDateString();
if (showWeek)
{
var Week = ['日','一','二', '3' ,'four','five','six'];
str = 'week' Week[myDate.getDay()];
return
}
// ----------------------------------------------- --- -
//| 正当性の検証日
//| 形式は YYYY-MM-DD または YYYY/MM/DD
// ----------- --- -------------------------------------
関数 IsValidDate(DateStr)
{
var sDate=DateStr.replace(/(^s |s $)/g,''); // 両側のスペースを削除します。
if(sDate=='') return true; 🎜>//if 形式が 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 })$/; var r = str.match(reg);
if (r==null)return false;
r[2]=r[2]-1; ],r[2],r[3],r[4],r[5],r[6]);
if(d.getFullyear()!=r[1])return
if(d.getMonth()!=r[2])return false;
if(d.getDate()!=r[3])return false; r[4])return false;
if(d.getMinutes()!=r[5])return false; > true を返す
}
// - ------------------------------------ --------------
//| 日付を配列に分割します
// -------------------- -------------- ------------------
Date.prototype.toArray = function()
{
var myDate = this;
var myArray = Array();
myArray[1] = myDate.getMonth(); ] = myDate.getDate();
myArray[3] = myDate.getHours();
myArray[4] = myDate.getMinutes();
return myArray
}
// ----------------------------------- --------------- -
//| 日付データ情報を取得します
//| パラメータの間隔はデータ型を表します
//|日 w 週 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]) ));
var date2 = date1.dateAdd(1,'m',1);
var result = date1.Format('yyyy-MM-dd'),date2.Format('yyyy- MM-dd'));
結果を返します
}
// - ------------------------- -----------------------
//| 現在の日付が属する年の週を取得します。
// ---- ------------------------ ------------------------
Date.prototype.WeekNumOfyear = function()
{
var myDate = this;
var ary = myDate.toArray();
var year = ary[0]; = ary[1] 1;
var day = ary[2];
document.write('myDate = DateValue(') ' 月 '-' 日 '-' 年 '') n');
document.write ('result = DatePart('ww', myDate) n'); ;
結果を返す
}
// ------- ------------------------ --------------------
//| 文字列を日付型に変換します
//| 形式 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?'/':'-'; = DateStr.split('-');
myDate = new Date(arys[0],--arys[1],arys[2]);
return myDate;