ホームページ  >  記事  >  ウェブフロントエンド  >  拡張JavaScript Dateメソッド実装コード(プロトタイプ)_javascriptスキル

拡張JavaScript Dateメソッド実装コード(プロトタイプ)_javascriptスキル

WBOY
WBOYオリジナル
2016-05-16 18:15:481109ブラウズ

最近はプロジェクトの一部機能を再構築しており、フロントエンドは基本的に当初の設計を覆しており、この半年間の蓄積をベースにした新たなソリューションも出てきています。最近フロントエンドのリファクタリングと設計を行っているのですが、いくつかの問題に遭遇しました。このモジュールの主な目的は時間を制御することであるため、多数の js Date オブジェクトを操作しますが、ネイティブの js Date メソッドが少なすぎて操作するには不便です。そこでDateのプロトタイプを拡張する予定です。

私は長い間 C# 開発に携わっており、C# は私の考え方に影響を与えてきました。 C#のDateTimeの操作がとても便利なので、jsのDateを拡張するために利用してみました。

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

// 指定されたミリ秒数を加算しますこのインスタンスの値
Date.prototype.addMilliseconds = function (value) {
var milliseconds = this.getMilliseconds();
return this; };
//このインスタンスの値に指定された秒数を加算します。
Date.prototype.addSeconds = function (value) {
var Second = this.getSeconds(); setSeconds(2 番目の値);
return this;
}
//このインスタンスの値に指定された分数を加算します
Date.prototype.addMinutes = function (value) {
var minutes = this.addMinutes();
this.setMinutes(分値);
return this;
//このインスタンスの値に指定された時間を加算します。 🎜> Date.prototype.addHours = 関数 (値) {
var 時間 = this.getHours();
this.setHours(時間値);
// 指定された日数をこのインスタンスの値に加算します
Date.prototype.addDays = function (value) {
var date = this.getDate()
this.setDate(date value); ;
return this;
};
// このインスタンスの値に指定された週数を加算します
Date.prototype.addWeeks = function (value) {
return this.addDays (value * 7);
};
//このインスタンスの値に指定された月数を加算します。
Date.prototype.addMonths = function (value) {
var month = this. getMonth() ;
this.setMonth(month value);
return this;
};
//このインスタンスの値に指定された年数を加算します
addyears = function (value) {
var year = this.getFull Year();
return this;
; =" yyyy-MM-dd hh:mm:ss";
Date.prototype.format = function (format) {
var o = {
"M ": this.getMonth() 1, / /月
"d ": this.getDate(), //日
"h ": this.getHours(), //時間
"m ": this.getMinutes(), //分
"s ": this.getSeconds(), //秒
"q ": Math.floor((this.getMonth() 3) / 3), //四半期
"S": this .getMilliseconds () //ミリ秒
}
if (/(y )/.test(format)) {
format = format.replace(RegExp.$1, (this.getFull Year() "") .substr (4 - RegExp.$1.length));
}
for (var k in o) {
if (new RegExp("(" k ")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" o[k]).substr(("" o[k]).length )) ;
}
}
戻り形式
}


その使用方法については、これ以上説明する必要はないと思います。 >



コードをコピーします


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


var date = new Date(); date.addHours(1);
date .addyears(2)>document.write('yyyy-MM-dd hh:mm:ss'); 🎜>この拡張メソッドが皆様のお役に立てれば幸いです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。