0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

JavaScriptで日付の繰り返し処理を行う方法(年・月・日)

Last updated at Posted at 2024-09-09

ある日付からある日付までを繰り返し処理する方法を記しています。

年を繰り返し処理する

想定される出力結果
2022/01/01
2023/01/01
2024/01/01

素のJavaScriptのみの場合

main.js
const startDate = new Date('2022');
const endDate = new Date('2024');

for (let d = startDate; d <= endDate; d.setFullYear(d.getFullYear() + 1)) {
  const year = d.getFullYear().toString();
  const month = (d.getMonth() + 1).toString().padStart(2, '0');
  const day = d.getDate().toString().padStart(2, '0');
  console.log(`${year}/${month}/${day}`);
}

date-fnsライブラリを使う場合

main.js
import { addYears, format } from 'date-fns';

const startDate = new Date('2022');
const endDate = new Date('2024');

for (let d = startDate; d <= endDate; d = addYears(d, 1)) {
  console.log(format(d, 'yyyy/MM/dd'));
}

月を繰り返し処理する

想定される出力結果
2023/11/01
2023/12/01
2024/01/01

素のJavaScriptのみの場合

main.js
const startDate = new Date('2023/11');
const endDate = new Date('2024/01');

for (let d = startDate; d <= endDate; d.setFullYear(d.getFullYear() + 1)) {
  const year = d.getFullYear().toString();
  const month = (d.getMonth() + 1).toString().padStart(2, '0');
  const day = d.getDate().toString().padStart(2, '0');
  console.log(`${year}/${month}/${day}`);
}

date-fnsライブラリを使う場合

main.js
import { addMonths, format } from 'date-fns';

const startDate = new Date('2023/11');
const endDate = new Date('2024/01');

for (let d = startDate; d <= endDate; d = addMonths(d, 1)) {
  console.log(format(d, 'yyyy/MM/dd'));
}

日を繰り返し処理する

想定される出力結果
2023/12/30
2023/12/31
2024/01/01

素のJavaScriptのみの場合

main.js
const startDate = new Date('2023/12/30');
const endDate = new Date('2024/01/01');

for (let d = startDate; d <= endDate; d.setDate(d.getDate() + 1)) {
  const year = d.getFullYear().toString();
  const month = (d.getMonth() + 1).toString().padStart(2, '0');
  const day = d.getDate().toString().padStart(2, '0');
  console.log(`${year}/${month}/${day}`);
}

date-fnsライブラリを使う場合

main.js
import { addMonths, format } from 'date-fns';

const startDate = new Date('2023/12/30');
const endDate = new Date('2024/01/01');

for (let d = startDate; d <= endDate; d = addDays(d, 1)) {
  console.log(format(d, 'yyyy/MM/dd'));
}
0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?