js を使用して過去 1 週間、1 か月、3 か月の時間を取得する簡単な例

js を使用して過去 1 週間、1 か月、3 か月の時間を取得する簡単な例

過去1週間の時間を取得する

var end = new Date();
var year = end.getFullYear();
var month = end.getMonth() + 1; //0-11 は 1 月から 12 月を意味します var day = end.getDate();
var dateObj = {};
dateObj.end = 年 + '-' + 月 + '-' + 日;
if (day - 7 <= 0) { // 月の 7 日より前の場合 var startMonthDay = new Date(year, (parseInt(month) - 1), 0).getDate(); // 1 週間前の月の合計日数 if (month - 1 <= 0) { // 現在の年の 1 月の場合 dateObj.start = (year - 1) + '-' + 12 + '-' + (31 - (7 - day));
    } それ以外 {
      dateObj.start = 年 + '-' + (月 - 1) + '-' + (開始月日 - (7 - 日));
    }
} それ以外 {
    dateObj.start = 年 + '-' + 月 + '-' + (日 - 7);
}
コンソールログ(JSON.stringify(dateObj))
1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.

過去1か月の時間を取得する

var end = new Date();
var year = end.getFullYear();
var month = end.getMonth() + 1; //0-11 は 1 月から 12 月を意味します var day = end.getDate();
var dateObj = {};
dateObj.end = 年 + '-' + 月 + '-' + 日;
var endMonthDay = new Date(year, month, 0).getDate(); //現在の月の合計日数 if(month - 1 <= 0){ //1月の場合は1年進む<br> 
       dateObj.start = (年 - 1) + '-' + 12 + '-' + 日;
}それ以外{
    var startMonthDay = new Date(year, (parseInt(month) - 1), 0).getDate();
    if(startMonthDay < day){ //1 か月前の月の合計日数が現在の日付より少ない if(day < endMonthDay){ //現在の日付が現在の月の合計日数より少ない dateObj.start = year + '-' + (month - 1) + '-' + (startMonthDay - (endMonthDay - day));
        }それ以外{
            dateObj.start = 年 + '-' + (月 - 1) + '-' + 開始月日;
        }
    }それ以外{
        dateObj.start = 年 + '-' + (月 - 1) + '-' + 日;
    }
}
コンソールログ(JSON.stringify(dateObj))
1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.

過去3か月分を取得

var end = new Date();
var year = end.getFullYear();
var month = end.getMonth() + 1; //0-11 は 1 月から 12 月を意味します var day = end.getDate();
var dateObj = {};
dateObj.end = 年 + '-' + 月 + '-' + 日;
var endMonthDay = new Date(year, month, 0).getDate(); //現在の月の合計日数if(month - 3 <= 0){ //1月、2月、または3月の場合は、1年進みます var start3MonthDay = new Date((year - 1), (12 - (3 - parseInt(month))), 0).getDate(); //3か月前の月の合計日数 if(start3MonthDay < day){ //3か月前の月の合計日数は、現在の日付より小さいです dateObj.start = (year - 1) + '-' + (12 - (3 - month)) + '-' + start3MonthDay;
    }それ以外{
        dateObj.start = (年 - 1) + '-' + (12 - (3 - 月)) + '-' + 日;
    }
}それ以外{
    var start3MonthDay = new Date(year, (parseInt(month) - 3), 0).getDate(); // 3 か月前の月の合計日数 if(start3MonthDay < day){ // 3 か月前の月の合計日数は現在の日付より小さい if(day < endMonthDay){ // 現在の日付は現在の月の合計日数より小さい (2 月は特別な月です) dateObj.start = year + '-' + (month - 3) + '-' + (start3MonthDay - (endMonthDay - day));
        }それ以外{
            dateObj.start = 年 + '-' + (月 - 3) + '-' + start3MonthDay;
        }
    }それ以外{
        dateObj.start = 年 + '-' + (月 - 3) + '-' + 日;
    }
}
コンソールログ(JSON.stringify(dateObj))

新しい Date() と setDate() パラメータ

インターネット上には日付に関する記事がすでにたくさんあると思います。ここでは、私が仕事で遭遇した問題を要約します。

新しい日付()

new Date() には 6 つの形式があり、5 つはパラメーター付き、1 つはパラメーターなしです。

  1. new Date(); 言うまでもなく、取得されるデフォルトの日付は現在の日付です。
  2. new Date("month1 dd,yyyy hh:mm:ss"); 注意: パラメータは文字形式です
  3. new Date("month1 dd,yyyy"); 注意: パラメータは文字形式です
  4. new Date(yyyy,month2,dd,hh,mm,ss); 注意: パラメータは文字ではありません
  5. new Date(yyyy,month2,dd); 注意: パラメータは文字ではありません
  6. 新しい日付(ミリ秒);

パラメータの説明:

month1: 英語では、1月から12月までの月の名前を示します。

dd: 日付を示す、1~31

yyyy: 4桁で表される年を示します

hh:mm:ss: は時間 (0-23) - 分 (0-59) - 秒 (0-59) を示します。

month2: は数値型の月です。0から11まで、つまり1月から12月までです。

ms: 1970年1月1日からのミリ秒数

特別な注意:一部はキャラクター形式ですが、一部はそうではありません

要約する

js を使用して過去 1 週間、1 か月、3 か月の時間を取得する方法についての記事はこれで終わりです。js を使用して過去 1 週間、1 か月、3 か月の時間を取得する方法についての関連コンテンツをさらにご覧になりたい場合は、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • js を使用して時間を取得します (今週、今四半期、今月など)
  • jsは現在の時刻と今月の週数を取得するメソッドを実装します
  • jsは今日、今週、今月のタイムコードを取得します
  • JS は今週の月曜日、週末を取得し、いつでも月曜日の週末を取得する関数の例
  • js を使用して時間差を取得し、土曜日と日曜日の実装コードを削除します

<<:  ::before/:before と ::after/:after の使用に関する深い理解

>>:  ウォーターフォールレイアウト+ダイナミックレンダリングの実装

推薦する

Apache での ab パフォーマンス テスト結果を分析する

私はパフォーマンス テストを行うために常に Loadrunner を使用してきました。 Loadru...

MYSQL パフォーマンス アナライザー EXPLAIN 使用例分析

この記事では、例を使用して MYSQL パフォーマンス アナライザー EXPLAIN の使用方法を説...

Vueコンポーネント通信のさまざまな方法の詳細な説明

目次1. 父から息子へ2. 息子から父へ3. 親子関係のないコンポーネントの値の転送4. ヴュークス...

MySQL が UNION を使用して 2 つのクエリを接続できない理由の詳細な説明

概要連合接続データセットキーワードは、2つのクエリ結果セットを1つに連結し、同一のレコードを除外する...

純粋な HTML+CSS でオリンピック リングを実装するためのサンプル コード

レンダリング コード - 青と黄色のリングを例に挙げます <div class="コ...

Linux lessコマンド例の詳細な説明

ファイル名が少ないファイルを表示ファイル名を少なく | grep -n コンテンツを検索内容に応じて...

Vue3 親子コンポーネントパラメータ転送における sync 修飾子の使用法の詳細な説明

目次一方向データフローの説明Vue2.x の使用法親コンポーネントに変更を通知するイベントのフォーム...

計算プロパティとリスナーの詳細

目次1. 計算されたプロパティ1.1 基本的な例1.2 計算プロパティキャッシュとメソッド1.3 計...

MySql インデックスはクエリ速度を向上させる一般的な方法のコード例

インデックスを使用してクエリを高速化する1. はじめにWeb 開発には、ビジネス テンプレート、ビジ...

CSS3 カウントダウン効果

成果を達成する実装コードhtml <div クラス = 'ラッパー'> ...

Vueは完全な選択機能を実装しています

この記事の例では、完全な選択機能を実装するためのVueの具体的なコードを参考までに共有しています。具...

Nginx サービス クイック スタート チュートリアル

目次1. Nginx の紹介1. Nginx とは何ですか? 2. Nginx を使用する理由3. ...

vueプロジェクトのマルチ環境設定(.env)の実装

目次マルチ環境構成とは何ですか? また、なぜそれが必要なのですか? .env ファイルはどこで設定さ...

Navicat PremiumでSQLファイルをインポートする方法

今日、最終プロジェクトに取り組み始めましたが、今年はMySQLデータベースを使用したため、Navic...

プロジェクトにaxiosをカプセル化する実際のプロセス

目次序文axiosカプセル化の利点パッケージのアイデア設定の優先順位axiosインスタンス構成1. ...