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 の使用に関する深い理解

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

推薦する

nginxワーカープロセスループの実装

ワーカープロセスは、起動されると、まず自身の動作に必要な環境を初期化し、次に実行する必要があるイベン...

Docker ケース分析: MySQL データベース サービスの構築

目次1 設定ディレクトリとデータディレクトリを作成する3 イメージからホストに構成ファイルをコピーす...

Vue3.0 ルーティング自動インポート方法の例

1. 前提条件インポートには require.context メソッドを使用します。vite で作成...

CSS で隠し要素を実現する 7 つの興味深い方法

序文非表示要素の 3 つの属性である表示、可視性、不透明度の類似点と相違点は、フロントエンドの就職面...

Ubuntu 16.04 で PostgreSQL の起動を設定する方法

PostgreSQL はコンパイルされインストールされるため、起動時に起動するように設定する必要があ...

Vue はアップロードされた画像に透かしを追加する機能を実装します

この記事では、Vueでアップロードされた画像に透かしを追加する具体的な実装コードを参考までに共有しま...

ネイティブJSは非常に見栄えの良いカウンターを実装します

今日は、ネイティブ JS で実装された見栄えの良いカウンターを紹介します。効果は次のとおりです。 以...

iOS WeChat H5ページのゴム反発効果の落とし穴記録

ビジネス要件最近開発したプロジェクトの一つに、WeChat公式アカウントに関連したH5ページがありま...

MySql5.7.21 インストールポイント記録メモ

ダウンロードしたバージョンは、Zip 解凍版、Windows システムです。長い間 Windows ...

Mysql 中国語ソートルールの説明

MySQL を使用する際、フィールドをソートしたりクエリしたりすることがよくあります。通常は、中国語...

Ubuntu で中国語入力方法が使えない場合の解決策

Ubuntu では中国語入力方法の解決策はありません。仮想マシンや Ubuntu システムをインスト...

JavaScript 配列の Reduce() メソッドの構文と例の分析

序文Reduce() メソッドは関数を累積器として受け取り、配列内の各値 (左から右へ) が単一の値...

JSで実現したページサイドバーの効果に関する研究

目次発見: ディスプレイアニメーションの応用実装:記事の1行目を表示する効果を実現する方法実際、その...

Docker-compose を使用して ELK クラスターを構築する方法

すべてのオーケストレーション ファイルと構成ファイルは、私の Github からアクセスできます。構...

MySQL 5.6 の「暗黙的な変換」によりインデックスが失敗し、データが不正確になる

背景SQL クエリを実行するときに、where 条件の vachar 型フィールドの単一引用符を削除...