時間範囲効果を実現するための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コンテナ内に設定ファイルを自動的に生成します

推薦する

Linuxにログインする際の文字セットの問題を解決する方法

文字セットエラーは常に存在するロケール: LC_CTYPE をデフォルト ロケールに設定できません:...

Mybatis+mysqlはストアドプロシージャを使用してシリアル番号実装コードを生成します。

同時操作によるデータの重複を避けるために、データベースを操作するときにストアドプロシージャを使用して...

MySQL 5.7 のスロークエリログの時間がシステム時間より 8 時間遅れている理由の詳細な説明

遅いクエリをチェックすると、時間が正しくなく、システム時間とちょうど 8 時間異なっていることがわか...

CSS の inline-block の最小幅値の詳細な説明

序文最近、私は夜に時間を取って「CSS World」という本を読んでいます。この本は非常に興味深く、...

VUE を使用して Ali Iconfont ライブラリをオンラインで呼び出す方法

序文何年も前、私はサーバー側の初心者でしたが、業界の競争が激しくなるにつれて、フロントエンドの初心者...

JSはストップウォッチタイマーを実装します

この記事の例では、ストップウォッチタイマーを実装するためのJSの具体的なコードを参考までに共有してい...

レスポンシブ Web をデザインするにはどうすればいいですか?レスポンシブウェブデザインのメリットとデメリット

最近レスポンシブ デザインについて学んでいて、これについていくつか整理してみました。写真の一部はイン...

MySQL 8.0.16 圧縮パッケージのインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.16圧縮パッケージのインストールと設定方法を参考までに紹介します。...

CSS 使用のヒントのまとめ

最近、ブログのアップグレードを始めました。テンプレートを変更する過程で、CSS スタイルシートを書き...

mysql-8.0.15-winx64 解凍バージョンのインストールチュートリアルと終了する 3 つの方法

1.公式サイトからダウンロードして解凍する参考: 2. 環境変数を設定するMYSQL_HOMEをMy...

Vueのv-onパラメータの問題についてお話しましょう

Vue での v-on:clock の使用現在、vue.js フレームワークを学習しています。後で参...

js 実行コンテキストとスコープの概要

目次序文文章1. JavaScriptコードの実行プロセスに関連する概念2. 実行コンテキストと実行...

Vue での ElementUI の使用に関する詳細な説明

ログイン + セッションストレージエフェクト表示ログインに成功すると、ユーザー ID がフロントエン...

Vue での ref の使用法とデモンストレーション

ref 定義:要素またはサブコンポーネントの参照情報を登録するために使用されます。参照情報は、親コン...

MySql のグループ化と各グループからランダムに 1 つのデータを取得する

アイデア: 最初にランダムに並べ替えてからグループ化します。 1. テーブルを作成します。 テーブル...