Javascript 日付オブジェクト 日付拡張メソッド_時刻と日付
今日は、js で日付を操作する関連メソッドをインターネットからいくつか抜粋したので、それを共有します。
具体的な拡張メソッドは次のとおりです:
parseCHS - 静的メソッド。一般的に使用される中国語の日付を解析し、日付オブジェクトを返します。
add - 日付の加算および減算の操作。 [注意: アップロード時のこの機能にはバグがあります。ダウンロードして、この関数の最初の行「var regExp = /^d $/;」を「var regExp = /^([ -])?d $/;」に変更してください。そうしないと、減算ができなくなります。 ]
dateDiff - 日付の差。開始日と現在の日付の差は、差の絶対値を返します。
getFirstWeekDays—現在の日付が位置する年の最初の週の日数を取得します。
getLastWeekDays—現在の日付が位置する年の最後の週の日数を取得します。
getWeek - 現在の日付が属する年の週を取得します。整数値を返します。
getSeason—現在の日付が属する年の季節を取得します。 4 分の 1 の整数値を返します。
詳細なコメントとパラメータについては、JS ファイル内のコメントを参照してください。
コードをコピー
コードは次のとおりです:
/*
======================================= === =============================================
説明:日付オブジェクト拡張子。一般的に使用される中国語の日付形式分析、加算および減算演算、日付の差分、週次演算、および四半期演算が含まれます。
著者:Dezwen
日付:2009-5-30。
==================== = ================================================ = ======
*/
Date.parseCHS = function(dateString) {
///
///一般的に使用される中国語の日付を解析し、日付オブジェクトを返します。
///
///
//日付文字列。含まれる形式は次のとおりです: "xxxx(xx)-xx-xx xx:xx:xx"、"xxxx(xx).xx.xx xx:xx:xx"、
///"xxxx(xx)年xx" " 月 xx 日 xx 時 xx 分 xx 秒"
///
var regExp1 = /^d{4}-d{1,2}-d{1,2}( d { 1,2}:d{1,2}:d{1,2})?$/;
var regExp2 = /^d{4}.d{1,2}.d{1,2} ( d{1,2}:d{1,2}:d{1,2})?$/;
var regExp3 = /^d{4} 年 d{1,2} 月 d{1, 2 }日 (d{1,2} 時間 d{1,2} 分 d{1,2} 秒)?$/;
if (regExp1.test(dateString)) { }
else if ( regExp2 .test(dateString)) {
dateString = dateString.replace(/./g, "-");
}
else if (regExp3.test(dateString)) {
dateString = dateString .replace("年", "-").replace(
"月", "-").replace("日", "").replace("時", ":").replace( " 分", ":"
).replace("秒", "");
}
else {
throw "Date.parseCHS に渡されるパラメータ値の形式が正しくありません。有効な日付形式の文字列をパラメータとして渡してください。 ";
}
var date_time = dateString.split(" ");
var date_part = date_time[0].split("-");
var time_part = (date_time.length > 1 ? date_time[1].split(":") : "");
if (time_part == "") {
return new Date(date_part[ 0 ], date_part[1] - 1, date_part[2]);
}
else {
return new Date(date_part[0], date_part[1] - 1, date_part[2], time_part) [ 0], time_part[1], time_part[2]);
}
}
Date.prototype.add = function(datepart, number, returnNewObjec) {
///
///returnNewObjec パラメータが true の場合、操作結果は新しい日付オブジェクトによって返され、元の日付オブジェクトは変更されません。
///それ以外の場合は、この時点で元の日付オブジェクトが返されます。 、元の日付オブジェクトは、
///
/// です。 ///日付のプラス部分とマイナス部分:
///年、yy、yyyy--年
///四半期、qq、q--四半期
///月、mm、 m -- 月
///dayofyear, dy , y-- day
///Day, dd, d -- day
///週、週、ww -- 週
/ //時、hh -- 時
// /分、mi、n -- 分
///秒、ss、s -- 秒
///ミリ秒、ms -- ミリ秒
///
/ /////加算または減算される量
//////
///新しい日付オブジェクトを返すかどうか。パラメータが true の場合は、新しい日付オブジェクトが返されます。そうでない場合は、現在の日付オブジェクトが返されます。
///
///
var regExp = /^d $/;
if (regExp.test(number)) {
number = parseInt; (数値);
else {数値 = 0; }
var tDate;
if (typeof (returnNewObjec) == "boolean" ) {
if (returnNewObjec == true) {
tDate = new Date(this);
else { tDate = this; }
}
else { tDate = this ; }
switch (datepart) {
case "year":
case "yy":
case "yyyy":
tDate.setFull Year(this.getFull Year() 数値 ) ;
break;
ケース "qq":
ケース "q":
tDate.setMonth(this.getMonth() (number * 3)); 🎜>break;
ケース "mm":
ケース "m":
tDate.setMonth(this.getMonth() 数値); >ケース "dayofyear":
ケース "dy":
ケース "y":
ケース "日":
ケース "dd":
ケース "d":
tDate .setDate(this.getDate() 数値);
break;
ケース "週":
ケース "ww":
tDate.setDate () (数値 * 7));
ケース "時間":
ケース "hh":
tDate.setHours(this.getHours() 数値); 🎜>ケース "分":
ケース "mi":
ケース "n":
tDate.setMinutes(this.getMinutes() number);
break
ケース "秒" :
ケース "ss":
ケース "s":
tDate.setSeconds(this.getSeconds() 数値);
ケース "ミリ秒":
ケース " ミリ秒":
tDate.setMilliseconds(this.getMilli秒() 数値);
break;
}
return tDate;
}
Date.prototype.dateDiff = function(datepart, beginDate ) {
///
///開始日と現在の日付の差、その差の絶対値を返します。
///
///
///日付の加算部分と減算部分:
/ // 年、yy、yyyy -- 年
///四半期、qq、q --四半期
///月、mm、m -- 月
///年、日、y -- 日
///日、dd、d -- 日
///週、週、ww -- 週
///時、hh -- 時
///分、 mi 、 n -- 分
///秒、ss、s -- 秒
///ミリ秒、ms -- ミリ秒
////// < param name="beginDate" type="DateTime">
///日付を比較するには
///
///
///
datepart = datepart.toLowerCase();
var yearDiff = Math.abs(this.getFull Year() - beginDate.getFull Year()); datepart) {
ケース "年":
ケース "yy":
ケース "yyyy":
return yearDiff;
ケース "四半期":
ケース "qq":
case "q":
var qDiff = 0;
switch (yearDiff) {
case 0:
qDiff = Math.abs(this.getSeason() - beginDate.getSeason()) ;
break;
ケース 1:
qDiff = (this.getSeason() - new Date(this.getFull Year(), 0, 1).getSeason())
(new Date(beginDate) .getFull Year(), 11, 31).getSeason() -
beginDate.getSeason()) 1;
break;
デフォルト:
qDiff = (this.getSeason() - new Date( this.getFull Year(), 0, 1).getSeason())
(new Date(beginDate.getFull Year(), 11, 31).getSeason() -
beginDate.getSeason()) 1 (yearDiff - 1) * 4;
break;
}
return qDiff;
case "mm":
case "m":
var monthDiff = 0;
switch (yearDiff) {
case 0:
monthDiff = Math.abs(this.getMonth() - beginDate.getMonth());
case 1:
monthDiff = (this.getMonth() - new Date(this.getFull Year(), 0, 1).getMonth())
(new Date(beginDate.getFull Year(), 11, 31).getMonth() -
beginDate.getMonth()) 1;
break;
デフォルト:
monthDiff = (this.getMonth() - new Date(this.getFull Year(), 0, 1).getMonth( ))
(new Date(beginDate.getFull Year(), 11, 31).getMonth() -
beginDate.getMonth()) 1 (yearDiff - 1) * 12;
return monthDiff;
case "dayofyear":
case "dy":
case "y":
case "day":
case "dd":
case "d":
return Math.abs((this.setHours(0, 0, 0, 0) - beginDate.setHours(0, 0, 0, 0)) / 1000 / 60 / 60 / 24);
ケース "週":
ケース "週":
ケース "ww":
var weekDiff = 0;
switch (yearDiff) {
ケース 0:
weekDiff = Math.abs(this.getWeek() - beginDate.getWeek());
break;
ケース 1:
weekDiff = (this.getWeek() - new Date(this.getFull Year(), 0, 1).getWeek())
(new Date(beginDate.getFull Year(), 11, 31).getWeek() -
beginDate.getWeek()) 1;デフォルト:
weekDiff = (this.getWeek() - new Date(this.getFull Year(), 0, 1).getWeek())
(new Date(beginDate.getFull Year(), 11, 31).getWeek() -
beginDate.getWeek()) 1;
var this Year = this.getFull Year();
for (var i = 1; i
}
break;
return
case "hour":
case "hh":
return Math.abs((this - beginDate) / 1000 / 60 / 60);
case "分":
case "mi":
case "n":
return Math.abs((this - beginDate) / 1000 / 60);
ケース "秒":
ケース "ss":
ケース "s":
return Math.abs( (this - beginDate) / 1000);
case "ミリ秒":
case "ms":
return Math.abs(this - beginDate);
}
}
日付.prototype.getFirstWeekDays = function() {
///
///現在の日付が位置する年の最初の週の日数を取得します
///< ;/summary>
return (7 - new Date(this.getFull Year(), 0, 1).getDay()); //JS の月も 0 から始まり、0 は 1 月を意味します。
}
Date.prototype.getLastWeekDays = function(year) {
///
///現在の日付が含まれる年の最後の週の日数を取得します。 is located
// /
return (new Date(this.getFull Year(), 11, 31).getDay() 1) //JS の月も 0, 0 から始まります1 月という意味です。
}
Date.prototype.getWeeksOf Year = function() {
///
///現在の日付が位置する年の週番号を取得します
/// 概要>
return (Math.ceil((new Date(this.getFull Year(), 11, 31, 23, 59, 59) -
new Date(this.getFull Year(), 0, 1)) / 1000 / 60 / 60 / 24) -
this.getFirstWeekDays() - this.getLastWeekDays()) / 7 2;
}
Date.prototype.getSeason = function() {
// /
///現在の日付が属する年の四半期を取得します。 4 分の 1 の整数値を返します。
///概要>
var month = this.getMonth();
スイッチ (月) {
ケース 0:
ケース 1:
ケース 2:
return 1;
ケース 3:
ケース 4:
ケース 5:
return 2;
ケース 6:
ケース 7:
ケース 8:
return 3;
デフォルト:
戻り値 4;
}
}
Date.prototype.getWeek = function() {
///
///現在の前日の位置は一年中の最初の週です。整数値を返します。
///
var firstDate = new Date(this.getFull Year(), 0, 1);
var firstWeekDays = this.getFirstWeekDays();
var SecondWeekFirstDate = firstDate.add("dd", firstWeekDays, true);
var lastDate = new Date(this.getFull Year(), 11, 31);
var lastWeekDays = this.getLastWeekDays();
if (this.dateDiff("day", firstDate) < firstWeekDays) {
return 1;
}
else if (this.dateDiff("day", lastDate) < lastWeekDays) {
return this.getWeeksOf Year();
}
else {
return Math.ceil((this - SecondWeekFirstDate) / 1000 / 60 / 60 / 24 / 7) 1;
}
}

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

使用法: JavaScript では、insertBefore() メソッドを使用して、DOM ツリーに新しいノードを挿入します。このメソッドには、挿入される新しいノードと参照ノード (つまり、新しいノードが挿入されるノード) の 2 つのパラメータが必要です。

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

JavaScript は Web 開発で広く使用されているプログラミング言語であり、WebSocket はリアルタイム通信に使用されるネットワーク プロトコルです。 2 つの強力な機能を組み合わせることで、効率的なリアルタイム画像処理システムを構築できます。この記事では、JavaScript と WebSocket を使用してこのシステムを実装する方法と、具体的なコード例を紹介します。まず、リアルタイム画像処理システムの要件と目標を明確にする必要があります。リアルタイムの画像データを収集できるカメラ デバイスがあるとします。
