JavaScript:日付に加算・減算して未来や過去の日付にする【date-fns ライブラリ】

以前に自前で算出しましたが、便利なライブラリがあったのでメモです。
日付に関する多くの機能があるので、自作する機会は無くなるのかもしれません。

日数の加算・減算

import { add, sub } from 'date-fns';
const currentDate = new Date();

// 明日
const tomorrow = add(currentDate, { days: 1 });
console.log(tomorrow);

// 昨日
const yesterday = sub(currentDate, { days: 1 });
console.log(yesterday);

// 来週
const nextWeek = add(currentDate, { weeks: 1 });
console.log(nextWeek);

// 先週
const lastWeek = sub(currentDate, { weeks: 1 });
console.log(lastWeek);

その他

使用率が高そうな関数のメモ。

日付のフォーマット

import { format } from 'date-fns';

const formattedDate = format(currentDate, 'yyyy/MM/dd');
// "2023/09/16"

2つの日付の日数差

import { differenceInDays } from 'date-fns';

console.log(differenceInDays(tomorrow, lastWeek));
// 8

月の終わり

import { endOfMonth } from 'date-fns';

console.log(endOfMonth(currentDate));
// 2023-09-30T14:59:59.999Z
// currentDate は 2023-09-16
// 時刻は日本時間23:59:59が返ってきた

コメント