46

今日の日付から12日前の日付を計算しています。しかし、正しい日付は返されません。たとえば、2013 年 11 月 11 日 (mm/dd/yyyy) の今日の日付の場合、10/31/2013 を返す必要があるのに、10/30/2013 を返します。

ここにコードがあります

var d = new Date();
d.setDate(d.getDate() - 12);
d.setMonth(d.getMonth() + 1 - 0);
var curr_date = d.getDate();
var curr_month = d.getMonth();
var curr_year = d.getFullYear();
if (curr_month < 10 && curr_date < 10) {
    var parsedDate = "0" + curr_month + "/" + "0" + curr_date + "/" + curr_year;
    alert(parsedDate);
} else if (curr_month < 10 && curr_date > 9) {
    var parsedDate = "0" + curr_month + "/" + curr_date + "/" + curr_year;
    alert(parsedDate);
} else if (curr_month > 9 && curr_date < 10) {
    var parsedDate = curr_month + "/" + "0" + curr_date + "/" + curr_year;
    alert(parsedDate);
} else {
    var parsedDate = curr_month + "/" + curr_date + "/" + curr_year;
    alert(parsedDate);
}
4

12 に答える 12

1

最初:現在の日付を取得する

 const startingDate = new Date();

2番目: 希望の日付を取得!!: setDate を使用して直接 startingDate を変更すると、この変数が変更されます。

const sevenDaysBeforeDate = new Date(new Date().setDate(new Date().getDate() - 7));

7日後

const endDate = new Date(new Date().setDate(new Date().getDate() + 7));
于 2021-06-01T23:47:14.550 に答える
0

dayjs ライブラリを使用すると、簡単に実行できます。

import dayjs from 'dayjs';

const getDate = (prevDays) => {
    const now = dayjs();
    console.log(now.subtract(prevDays, 'day').format('mm-dd-yyyy'));
    return now.subtract(prevDays, 'day').toDate();
}
于 2019-10-22T04:36:24.623 に答える
-1

助けてくれてありがとう。単純な関数を使用しただけで、うまく機能しました

const subtractDayFromDate = (date, days) => {
  const newDate = new Date(date);
  newDate.setDate(newDate.getDate() - days);
  return newDate;
};

于 2021-08-06T10:02:48.720 に答える