ホームページ > ウェブフロントエンド > jsチュートリアル > js時刻関数アプリケーション加算・減算・比較・形式変換サンプルコード_javascriptスキル

js時刻関数アプリケーション加算・減算・比較・形式変換サンプルコード_javascriptスキル

WBOY
リリース: 2016-05-16 17:24:45
オリジナル
1042 人が閲覧しました

コードをコピー コードは次のとおりです:

// JavaScript ドキュメント
//----------------------------- - ---------------
// うるう年の決定
//---------------------- -- -----------------------------
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 秒
//------ ---------------------------------------
//日付の拡張子、日付を指定された形式の文字列に変換します
// 月 (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(), //日
"h " : this.getHours() , //時間
"H " : this.getHours(), //時間
"m " : this.getMinutes(), //分
" s " : this.getSeconds(), / /Seconds
"q " : Math.floor((this.getMonth() 3)/3), //Quarter
"S" : this.getMilliseconds() //ミリ秒
}; >if(/(y )/.test(fmt))
fmt=fmt.replace(RegExp.$1, (this.getFull Year() "").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)、秒 (s) 、週 (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 火曜日 20:09:04
* (new Date() ).pattern("yyyy-MM-dd EE hh:mm:ss") ==> 2009-03-10 火曜日 08:09:04
* (新しい日付( )).pattern("yyyy-MM -dd EEE hh:mm:ss") ==> 2009-03-10 Tuesday 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, //月
"d " : this.getDate(), //日
"h " : this.getHours() == 0 ? 12 : this.getHours( ), //時間
"H " : this.getHours(), //hours
"m " : this.getMinutes(), // minutes
"s " : this.getSeconds() , //Seconds
"q " : Math .floor((this.getMonth() 3)/3), //四半期
"S" : this.getMilliseconds() //ミリ秒
};
var 週 = {
"0 " : "/u65e5"、
"1" : "/u4e00"、
"2" : "/u4e8c"、
"3" : "/u4e09"、
"4" : "/u56db",
"5" : "/u4e94",
"6" : "/u516d"
};
if( /(y )/.test(fmt)){
fmt=fmt.replace(RegExp.$1, (this.getFull Year() "").substr(4 - RegExp.$1.length));
}
if(/(E )/. test(fmt)){
fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "/u661f/u671f" : "/u5468" ) : "") year[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
}

/---------- -------------------------------------- --
//| の違いを見つけてください2 つの時刻の間の日数は、YYYY-MM-dd
// ----------------------- -------- です。 ----------
関数 daysBetween(DateOne,DateTwo)
{
var OneMonth = DateOne .substring(5,DateOne.lastIndexOf) ('-'));
var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ('-') 1);
var OneDay = DateOne.substring( '- '));

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) .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(dtTmp.getFull Year(), (dtTmp.getMonth()), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes( )、dtTmp.getSeconds() 数値); //秒
case 'n' :return new Date(dtTmp.getFull Year(), (dtTmp.getMonth()), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes() Number, dtTmp. getSeconds()); //分
case 'h' :return new Date(dtTmp.getFull Year(), (dtTmp.getMonth()), dtTmp.getDate(), dtTmp.getHours() Number, dtTmp.getMinutes(), dtTmp. getSeconds()); // 時間
case 'd' :return new Date(dtTmp.getFull Year(), (dtTmp.getMonth()), dtTmp.getDate() Number, dtTmp.getHours(), dtTmp.getMinutes(), dtTmp. getSeconds()); //天
case 'w' :return new Date(dtTmp.getFull Year(), (dtTmp.getMonth()), dtTmp.getDate() Number*7, dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); //周
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));
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 = ['日','一','二','三','四','五','六'];
str = '星期' Week[myDate.getDay()];
}
文字列を返します。
}

// -------------------------------------- -------------
//| 日期合法性验证
//| 格式:YYYY-MM-DD または YYYY/MM/DD
// ----------------------------- --------------------
関数 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。注意年。');
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'));
結果を返します
}

// ----------------------- --------------- ---------------
//| 文字列を日付型に変換します
//| 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;
}


ページ確認コード




コードをコピー


コードは次のとおりです。




🎜> >
無題のドキュメント






関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート