1. ホーム
  2. javascript

[解決済み] JavaScript: 2日前の日付を計算する方法は?重複

2022-12-04 19:05:28

質問

重複の可能性があります。

javascriptで日付から日数を減算する

私は基本的に2日前の日付を返すJavaScriptを持っています。それは以下の通りです。

var x;
var m_names = new Array("January", "February", "March", 
    "April", "May", "June", "July", "August", "September", 
    "October", "November", "December");

var d = new Date();
var twoDaysAgo = d.getDate()-2;  //change day here
var curr_month = d.getMonth();
var curr_year = d.getFullYear();
var x = twoDaysAgo + "-" + m_names[curr_month] + "-" + curr_year;

document.write(x);

今日が2012年12月12日だと仮定すると、上記は2012年12月10日という日付を返します。これは、新しい月に進むとき、または日を-2から-15に変更するときに、動的に動作するとは思わない。月の3日からしか動作しません。

今日が2012年12月12日で、15日前の日付を返したい場合、-3-December-2012ではなく、27-November-2012となるようにこれを変更するにはどうしたらよいでしょうか。

どんな助けでも感謝します。ありがとうございます。 私はJavascriptの初心者です。

どのように解決するのですか?

日付オブジェクトがある場合、その日付から2を引くと2日前に設定できます。

var d = new Date();
d.setDate(d.getDate() - 2);
console.log(d.toString());

// First of month
var c = new Date(2017,1,1); // 1 Feb -> 30 Jan
c.setDate(c.getDate() - 2);
console.log(c.toString());

// First of year
var b = new Date(2018,0,1); // 1 Jan -> 30 Dec
b.setDate(b.getDate() - 2);
console.log(b.toString());