時間範囲効果を実現するためのJavaScript

時間範囲効果を実現するためのJavaScript

この記事では、時間範囲効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。

現在時刻より前の時間範囲(6か月前)

レンダリング

js ファイルのコード スニペット

/*クエリの日付範囲(現在時刻以降) Vivian 2020/12/04 追加 */
//rangeVal: 2つの日付間の区切り文字 num: 間隔 timeType: 時間の種類 function funGetRangeDateByLess(rangeVal,num,timeType){
    var returnVal="";
    var その他の値="";
    var その他の時間="";
    var curTime = 新しい Date();
    var curTimeVal = curTime.getFullYear() + '-' + PrefixZero((curTime.getMonth() + 1), 2) + '-' + PrefixZero(curTime.getDate(), 2);
    スイッチ (timeType) {
        ケース 1://var addMinutes = curTime.setMinutes(curTime.getMinutes() - num);
            otherTime=新しい日付(分を追加);
            壊す;
        ケース 2://var addMinutes = curTime.setHours(curTime.getHours() - num);
            otherTime=新しい日付(分を追加);
            壊す;
        ケース 3://dayvar addDate = curTime.setDate(curTime.getDate() - num);
            otherTime=新しい日付(addDate);
            壊す;
        ケース 4://monthvar addMonth = curTime.setMonth(curTime.getMonth() - num);
            otherTime=新しい日付(addMonth);
            壊す;
        ケース 5://yearvar addYear = curTime.setFullYear(curTime.getFullYear() - num);
            otherTime=新しい日付(addYear);
            壊す;
        デフォルト:
            壊す;
    }
    otherVal = otherTime.getFullYear() + '-' + PrefixZero((otherTime.getMonth() + 1), 2) + '-' + PrefixZero(otherTime.getDate(), 2);
    return returnVal=otherVal+rangeVal+curTimeVal;
}

/*ゼロを自動的に埋める Vivian 2020/12/04 追加 */
関数PrefixZero(num, n) {
    (Array(n).join(0) + num).slice(-n) を返します。
}

コードスニペットの使用

var fillhelptime=funGetRangeDateByLess(" , ",6,4);
laydate.render({
        要素: "#fillhelptime",
        範囲: "、"、
        タイプ: '日付'、
        value:fillhelptime, //デフォルト値 });

日付の時間範囲(前後何日)

レンダリング

js ファイルのコード スニペット

/*日付範囲を照会する(特定の日付の前後何日) Add By Vivian 2021/04/06 */
//rangeVal: 2 つの日付間の区切り文字date: 特定の日付beforeDays: 最初の N 日間afterDays: 最後の N 日間function funGetRangeDateByBeforeAndAfter(rangeVal,date,beforeDays,afterDays){
    var dateVaule1 = new Date(date);//時刻形式に変換 var dateVaule2 = new Date(date);//時刻形式に変換 var startDate = new Date(dateVaule1.setDate(dateVaule1.getDate() - beforeDays));//最初の N 日間 var endDate = new Date(dateVaule2.setDate(dateVaule2.getDate() + afterDays));//後の N 日間 var date1 = startDate.getFullYear() + '-' + PrefixZero((startDate.getMonth() + 1), 2) + '-' + PrefixZero(startDate.getDate(), 2);
    var date2 = endDate.getFullYear() + '-' + PrefixZero((endDate.getMonth() + 1), 2) + '-' + PrefixZero(endDate.getDate(), 2);
    var returnVal=日付1+範囲値+日付2;
    returnVal を返します。
}

/*ゼロを自動的に埋める Vivian 2020/12/04 追加 */
関数PrefixZero(num, n) {
    (Array(n).join(0) + num).slice(-n) を返します。
}

ある時点の時間範囲(前後何日)

レンダリング

js ファイルのコード スニペット

/*日付範囲を照会する(特定の時点の前後の時間はどれくらいか) Vivian 2021/04/06 追加 */
//rangeVal: 2 つの日付間の区切り文字 timeType: それらの間の時間タイプ date: 特定の日付 beforeDays: 最初の N 日 afterDays: 最後の N 日 function funGetRangeDateByBeforeAndAfter(rangeVal,timeType,date,beforeNum,afterNum){
    var dateVaule1 = new Date(date);//時刻形式に変換 var dateVaule2 = new Date(date);//時刻形式に変換 var startDate = "";
    var 終了日 = "";
    スイッチ (timeType) {
        ケース 1://startDate = new Date(dateVaule1.setMinutes(dateVaule1.getMinutes() - beforeNum));//最初の N 分endDate = new Date(dateVaule2.setMinutes(dateVaule2.getMinutes() + afterNum));//N 分後break;
        ケース 2://startDate = new Date(dateVaule1.setHours(dateVaule1.getHours() - beforeNum));//最初の N 時間endDate = new Date(dateVaule2.setHours(dateVaule2.getHours() + afterNum));//N 時間後break;
        ケース 3://daysstartDate = new Date(dateVaule1.setDate(dateVaule1.getDate() - beforeNum));//最初の N 日endDate = new Date(dateVaule2.setDate(dateVaule2.getDate() + afterNum));//N 日後break;
        ケース 4://monthstartDate = new Date(dateVaule1.setMonth(dateVaule1.getMonth() - beforeNum));//最初の N か月endDate = new Date(dateVaule2.setMonth(dateVaule2.getMonth() + afterNum));//N か月後break;
        case 5://yearstartDate = new Date(dateVaule1.setFullYear(dateVaule1.getFullYear() - beforeNum));//最初の N 年endDate = new Date(dateVaule2.setFullYear(dateVaule2.getFullYear() + afterNum));//N 年後var addYear = curTime.setFullYear(curTime.getFullYear() - num);
            壊す;
        デフォルト:
            壊す;
    }
    var returnVal1 = startDate.getFullYear() + '-' + PrefixZero((startDate.getMonth() + 1), 2) + '-' + PrefixZero(startDate.getDate(), 2);
    var returnVal2 = endDate.getFullYear() + '-' + PrefixZero((endDate.getMonth() + 1), 2) + '-' + PrefixZero(endDate.getDate(), 2);
    var returnVal=returnVal1+rangeVal+returnVal2;
    returnVal を返します。
}

/*ゼロを自動的に埋める Vivian 2020/12/04 追加 */
関数PrefixZero(num, n) {
    (Array(n).join(0) + num).slice(-n) を返します。
}

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • JavaScriptは指定された範囲の時間リストを生成します
  • extjs 時間範囲選択自動判定実装コード

<<:  LinuxシステムにおけるMySQLの一般的な操作コマンド

>>:  nginxはdockerコンテナ内に設定ファイルを自動的に生成します

推薦する

データベース管理における 19 の MySQL 最適化方法

MySQL データベースを最適化すると、データベースの冗長性を削減できるだけでなく、データベースの実...

KVM 仮想マシンのオンライン ホット マイグレーションを実装する方法 (画像とテキスト)

1. KVM仮想マシンの移行方法と注意すべき点KVM 仮想マシンを移行する方法は 2 つあります。...

HTML テーブル タグ チュートリアル (34): 行スパン属性 ROWSPAN

複雑なテーブル構造では、一部のセルが水平方向に複数のセルにまたがるため、行間属性 ROWSPAN を...

MySQL 8.0.18 のインストールと設定方法のグラフィックチュートリアル

この記事は、参考のためにMySQL 8.0.18のインストールと設定のグラフィックチュートリアルを記...

Java+Tomcat 環境の展開とインストールのプロセス図

次に、Centos7 に Java+Tomcat をインストールします。インターネット上には多くの記...

Chrome をクラッシュさせる CSS コードの行

一般的な CSS コードでは、UI レイアウトや互換性に関して軽微な問題が発生するだけです。しかし、...

CentOs システムで Python と yum をアンインストールするソリューション

事故の背景: 数日前、プロジェクトの必要性により、サーバーに python-mysql モジュールを...

タブ効果を実現する js 開発プラグイン

この記事の例では、タブ効果を実現するためのjsプラグインの具体的なコードを参考までに共有しています。...

MySQL データベースの制約とデータ テーブルの設計原則

目次1. データベースの制約1.1 はじめに1.2 制約の種類1.3 ヌルでない1.4 ユニーク1....

Linux サーバーは最大いくつのポートを開くことができますか?

目次ポート関連の概念:ポートとサービスの関係1: nmapツールが開いているポートを検出する2: n...

DockerのIDEA構成プロセス

IDEA は Java で最も一般的に使用されている開発ツールであり、Docker は最も人気のある...

CentOS はローカル yum ソースを使用して LAMP 環境を構築するグラフィック チュートリアル

この記事では、ローカル yum ソースを使用して CentOS 上に LAMP 環境を構築する方法に...

Win7 x64 に解凍版の mysql 5.7.18 winx64 をインストールするとサービスが起動できない問題を解決します

今日、mysql の公式サイトから mysql-5.7.18-winx64.zip をダウンロードし...

CentOS 7 に Docker 1.8 をインストールする詳細な手順

Docker は、次の CentOS バージョンでの実行をサポートしています。 • CentOS 7...

古い Vue プロジェクトに Vite サポートを追加する方法

1. はじめに会社のプロジェクトを引き継いで2年になります。今では毎回プロジェクトを起動するのに1分...