はじめに
今回はdate-fns
の基本的な使い方について紹介したいと思います。
date-fns provides the most comprehensive, yet simple and consistent toolset for manipulating JavaScript dates in a browser & Node.js.
// DeepL翻訳
date-fnsは、ブラウザとNode.jsでJavaScriptの日付を操作するための最も包括的で、かつシンプルで一貫したツールセットを提供します。
インストール
npm install date-fns --save
使い方
日付の出力
import { format } from 'date-fns' // 日の取得 // 2 console.log(new Date(2022, 1, 2).getDate()) // 月の取得 // 1 console.log(new Date(2022, 1, 2).getMonth()) // 年の取得 // 2022 console.log(new Date(2022, 1, 2).getFullYear()) // 2023-05-20 console.log(format(Date.now(), 'yyyy-MM-dd')) // 2023-05-20 19:30:39 console.log(format(Date.now(), 'yyyy-MM-dd HH:mm:ss'))
時間を進める・戻す
import { addYears, addMonths, addWeeks, addDays, subYears, subMonths, subWeeks, subDays } from 'date-fns' // 年の加算 // Mon May 20 2024 19:32:21 GMT+0900 (日本標準時) console.log(addYears(Date.now(), 1)) // 月の加算 // Tue Jun 20 2023 19:32:21 GMT+0900 (日本標準時) console.log(addMonths(Date.now(), 1)) // 週の加算 // Sat May 27 2023 19:32:21 GMT+0900 (日本標準時) console.log(addWeeks(Date.now(), 1)) // 日の加算 // Sun May 21 2023 19:32:21 GMT+0900 (日本標準時) console.log(addDays(Date.now(), 1)) // 年の減算 // Fri May 20 2022 19:32:21 GMT+0900 (日本標準時) console.log(subYears(Date.now(), 1)) // 月の減算 // Thu Apr 20 2023 19:32:21 GMT+0900 (日本標準時) console.log(subMonths(Date.now(), 1)) // 週の減算 // Sat May 13 2023 19:32:21 GMT+0900 (日本標準時) console.log(subWeeks(Date.now(), 1)) // 日の減算 // Fri May 19 2023 19:32:21 GMT+0900 (日本標準時) console.log(subDays(Date.now(), 1))
判定
import { addDays, subDays, isAfter, isSameDay, isBefore } from 'date-fns' // 昔かどうか (第一引数が第二引数と比べて) // true console.log(isBefore(Date.now(), addDays(Date.now(), 1))) // false console.log(isBefore(Date.now(), subDays(Date.now(), 1))) // 未来かどうか (第一引数が第二引数と比べて) // false console.log(isAfter(Date.now(), addDays(Date.now(), 1))) // true console.log(isAfter(Date.now(), subDays(Date.now(), 1))) // 同じ日付か // true console.log(isSameDay(Date.now(), Date.now())) // false console.log(isSameDay(Date.now(), addDays(Date.now(), 1)))