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?

Day.js(dayjs)の使い方まとめ

Last updated at Posted at 2025-04-06

JavaScriptの日付の処理・操作のライブラリDay.js(dayjs)の使い方をまとめてみました。

format

日付をフォーマットして取得することができます。

const day = dayjs('2025-01-01 17:10:30')
day.format('YYYY-MM')  // 2025-01
day.format('YYYY-MM-DD') // 2025-01-01
day.format('YYYY-MM-DD HH:mm:ss')  // 2025-01-01 17:10:30
day.format('YYYY月M日D日') // 2025月1日1日

subtract

「◯日前」「◯週間前」「◯ヶ月前」「◯年前」などの日付を取得できます。

const day = dayjs('2025-01-01 17:10:30')
day.subtract(1, 'day').format('YYYY-MM-DD')  // 2024-12-31
day.subtract(1, 'week').format('YYYY-MM-DD') // 2024-12-25
day.subtract(1, 'month').format('YYYY-MM-DD')  // 2024-12-01
day.subtract(1, 'year').format('YYYY-MM-DD') // 2024-01-01

add

「◯日後」「◯週間後」「◯ヶ月後」「◯年後」などの日付を取得できます。

const day = dayjs('2025-01-01 17:10:30')
day.add(1, 'day').format('YYYY-MM-DD')  // 2025-01-02
day.add(1, 'week').format('YYYY-MM-DD') // 2025-01-08
day.add(1, 'month').format('YYYY-MM-DD')  // 2025-02-01
day.add(1, 'year').format('YYYY-MM-DD') // 2026-01-01

year、month、date

それぞれ年、月、日を取得できます。

const day = dayjs('2025-01-01 17:10:30')
day.year();  // 2025
day.month();  // 0 ※0〜11で取得されます
day.date();  // 1

startOf、endOf

月初や月末の日付を取得できます。

const day = dayjs('2025-06-15 17:10:30')
day.startOf('month').format('YYYY-MM-DD') // 2025-06-01
day.endOf('month').format('YYYY-MM-DD')  // 2025-06-
day.startOf('year').format('YYYY-MM-DD') // 2025-01-01
day.endOf('year').format('YYYY-MM-DD')  // 2025-12-31

isBefore、isAfter、isSame

日付の比較ができます。

const day1 = dayjs('2025-01-01 00:00:00')
const day2 = dayjs('2025-01-02 00:00:00')
const day3 = dayjs('2025-01-03 00:00:00')

day1.isBefore(day2) // true
day2.isAfter(day3) // false
day3.isSame(day1) // false

第二引数で日付のどの単位までで比較するかを指定できます。

const day1 = dayjs('2025-01-01 00:00:00')
const day2 = dayjs('2025-01-01 00:01:00')

console.log(day1.isSame(day2, 'year'))  // true
console.log(day1.isSame(day2, 'month'))  // true
console.log(day1.isSame(day2, 'date'))  // true
console.log(day1.isSame(day2, 'hour'))  // true
console.log(day1.isSame(day2, 'minute'))  // false
console.log(day1.isSame(day2, 'second'))  // false
0
0
0

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?