Skip to content

Latest commit

 

History

History
516 lines (349 loc) · 15.3 KB

API-reference.md

File metadata and controls

516 lines (349 loc) · 15.3 KB

API Reference

Day.js は組み込みの Date.prototype を変更する代わりに Dayjs オブジェクトと呼ばれる Date オブジェクトのラッパーを作成します。

Dayjs オブジェクトは不変 (immutable) です。すなわち、すべての API 操作は新しい Dayjs オブジェクトを返します。

Parsing

Constructor dayjs(dateType?: string | number | Date | Dayjs)

パラメータなしで実行すると現在の日付と時刻を持った新しいDayjsオブジェクトを返します。

dayjs()

Day.js は他の日付フォーマットもパースします。

ISO 8601 形式

dayjs('2018-04-04T16:00:00.000Z')

Native Javascript Date object

dayjs(new Date(2018, 8, 18))

Unix Timestamp (milliseconds)

Unix タイムスタンプ(Unix エポックのミリ秒)からDayjsオブジェクトを返します。

dayjs(1318781876406)

Unix Timestamp (seconds) .unix(value: number)

Unix タイムスタンプ(Unix エポックの秒)からDayjsオブジェクトを返します。

dayjs.unix(1318781876)
dayjs.unix(1318781876.721)

Custom Parse Format

  • dayjs("12-25-1995", "MM-DD-YYYY") といった独自フォーマットのパースはCustomParseFormatで利用できます。

Clone .clone() | dayjs(original: Dayjs)

Dayjsオブジェクトを複製して返します。

dayjs().clone()
dayjs(dayjs('2019-01-25')) // Dayjsオブジェクトをコンストラクタに渡しても複製されます

Validation .isValid()

Dayjsの日付が有効かの真偽値を返します。

dayjs().isValid()

Get and Set

Year .year()

年の取得と設定。

dayjs().year()
dayjs().year(2000)

Month .month()

月の取得と設定です。月は0から始まります。

dayjs().month()
dayjs().month(0)

Day of the Month .date()

月の日にちの取得と設定です。日にちは1から始まります。

dayjs().date()
dayjs().date(1)

Day of the Week .day()

曜日の取得と設定です。0で日曜日から始まります。

dayjs().day()
dayjs().day(0)

Hour .hour()

時の取得と設定です。

dayjs().hour()
dayjs().hour(12)

Minute .minute()

分の取得と設定です。

dayjs().minute()
dayjs().minute(59)

Second .second()

秒の取得と設定です。

dayjs().second()
dayjs().second(1)

Millisecond .millisecond()

ミリ秒の取得と設定です。

dayjs().millisecond()
dayjs().millisecond(1)

Get .get(unit: string)

Dayjs オブジェクトから数値を返します。

dayjs().get('month') // `0`始まり
dayjs().get('day')

List of all available units

単位 ショートハンド 説明
date 月の日ひち
day d 曜日(日曜日は0、土曜日は6
month M 月(1 月は0、12 月は11
year y
hour h
minute m
second s
millisecond ms ミリ秒

Set .set(unit: string, value: number)

変更を適応したDayjsオブジェクトを返します。

dayjs().set('date', 1)
dayjs().set('month', 3) // 4月
dayjs().set('second', 30)

Manipulating

様々な方法でDayjsオブジェクトを操作できます。

dayjs('2019-01-25')
  .add(1, 'day')
  .subtract(1, 'year')
  .toString() // Fri, 26 Jan 2018 00:00:00 GMT

Add .add(value: number, unit: string)

指定した時間を追加したDayjsオブジェクトを複製して返します。

dayjs().add(7, 'day')

Subtract .subtract(value: number, unit: string)

指定した時間を引いたDayjsオブジェクトを複製して返します。

dayjs().subtract(7, 'year')

Start of Time .startOf(unit: string)

指定した単位の開始時点に設定されたDayjsオブジェクトを複製して返します。

dayjs().startOf('week') // locale の `weekStart` に依存

End of Time .endOf(unit: string)

指定した単位の終了時点に設定されたDayjsオブジェクトを複製して返します。

dayjs().endOf('month')

Displaying

Format .format(stringWithTokens: string)

フォーマットされた日付の文字列を返します。
文字をエスケープするにはブラケットで囲みます。(例 [A][MM]

dayjs().format() // ISO8601形式で、端数秒なしの現在の日時。例 '2020-04-02T08:02:17-05:00'

dayjs('2019-01-25').format('[YYYY] YYYY-MM-DDTHH:mm:ssZ[Z]') // 'YYYY 2019-01-25T00:00:00-02:00Z'

dayjs('2019-01-25').format('DD/MM/YYYY') // '25/01/2019'

List of all available formats

フォーマット 出力 説明
YY 18 2 桁の年
YYYY 2018 4 桁の年
M 1-12 1 始まりの月
MM 01-12 1 始まりの 2 桁の月
MMM Jan-Dec 月の略称
MMMM January-December 月の正式名
D 1-31 月ごとの日にち
DD 01-31 月ごとの 2 桁の日にち
d 0-6 0で日曜日から始まる曜日
dd Su-Sa 最も短い曜日の略称
ddd Sun-Sat 曜日の略称
dddd Sunday-Saturday 曜日名
H 0-23 時間
HH 00-23 2 桁の時間
h 1-12 12 時制の時間
hh 01-12 12 時制で 2 桁の時間
m 0-59
mm 00-59 2 桁の分
s 0-59
ss 00-59 2 桁の秒
SSS 000-999 3 桁のミリ秒
Z +05:00 UTC からのオフセット
ZZ +0500 UTC からの 2 桁のオフセット
A AM PM 午前と午後(大文字)
a am pm 午前と午後(小文字)
  • 利用可能な他のフォーマット Q Do k kk X x ... in plugin AdvancedFormat
  • ローカライズのフォーマットオプション L LT LTS ... in plugin LocalizedFormat

Difference .diff(compared: Dayjs, unit?: string, float?: boolean)

2 つのDayjsオブジェクトの差分を指定した単位で数値で返します。

const date1 = dayjs('2019-01-25')
const date2 = dayjs('2018-06-05')
date1.diff(date2) // 20214000000 default milliseconds
date1.diff(date2, 'month') // 7
date1.diff(date2, 'month', true) // 7.645161290322581
date1.diff(date2, 'day') // 233

Unix Timestamp (milliseconds) .valueOf()

Dayjsオブジェクトの Unix エポックからのミリ秒を数値で返します。

dayjs('2019-01-25').valueOf() // 1548381600000

Unix Timestamp (seconds) .unix()

Dayjsオブジェクトの Unix エポックからの秒を数値で返します。

dayjs('2019-01-25').unix() // 1548381600

UTC Offset (minutes) .utcOffset()

Dayjsオブジェクトの UTC オフセットを分単位の数値で返します。

dayjs().utcOffset()

Days in the Month .daysInMonth()

Dayjsオブジェクトの月の日数を数値で返します。

dayjs('2019-01-25').daysInMonth() // 31

As Javascript Date .toDate()

Dayjsオブジェクトをパースして複製したネイティブのDateオブジェクトを返します。

dayjs('2019-01-25').toDate()

As JSON .toJSON()

Dayjsオブジェクトの日付を ISO8601 形式にして文字列で返します。

dayjs('2019-01-25').toJSON() // '2019-01-25T02:00:00.000Z'

As ISO 8601 String .toISOString()

Dayjsオブジェクトの日付を ISO8601 形式にして文字列で返します。

dayjs('2019-01-25').toISOString() // '2019-01-25T02:00:00.000Z'

As String .toString()

日付を文字列で返します。

dayjs('2019-01-25').toString() // 'Fri, 25 Jan 2019 02:00:00 GMT'

Query

Is Before .isBefore(compared: Dayjs, unit?: string)

Dayjsオブジェクトの日付が、引数に与えた他のDayjsオブジェクトの日付より前かどうかの真偽値を返します。

dayjs().isBefore(dayjs()) // false
dayjs().isBefore(dayjs(), 'year') // false

Is Same .isSame(compared: Dayjs, unit?: string)

Dayjsオブジェクトの日付が、引数に与えた他のDayjsオブジェクトの日付と同じかどうかの真偽値を返します。

dayjs().isSame(dayjs()) // true
dayjs().isSame(dayjs(), 'year') // true

Is After .isAfter(compared: Dayjs, unit?: string)

Dayjsオブジェクトの日付が、引数に与えた他のDayjsオブジェクトの日付より後かどうかの真偽値を返します。

dayjs().isAfter(dayjs()) // false
dayjs().isAfter(dayjs(), 'year') // false

Is a Dayjs .isDayjs(compared: any)

引数に与えた変数がDayjsオブジェクトかどうかの真偽値を返します。

dayjs.isDayjs(dayjs()) // true
dayjs.isDayjs(new Date()) // false

instanceofオペレータでも同じように動作します。

dayjs() instanceof dayjs // true

UTC

UTC でパースや表示をしたい場合は、UTCプラグインの.utc .local .isUTC で行えます。

Plugin APIs

RelativeTime

.from .to .fromNow .toNow で相対時間が得られます。

プラグイン RelativeTime

IsLeapYear

.isLeapYear で閏年かどうかが得られます。

プラグイン IsLeapYear

WeekOfYear

.week でその年における週数が得られます。

プラグイン WeekOfYear

WeekDay

.weekday でロケールに対応した曜日の取得、設定ができます。

プラグイン WeekDay

IsoWeeksInYear

.isoWeeksInYear でその年の週数が得られます。

プラグイン IsoWeeksInYear

IsSameOrAfter

.isSameOrAfter で日付が別の日付と同じかそれより後であるかを得られます。

プラグイン IsSameOrAfter

IsSameOrBefore

.isSameOrBeforeで日付が別の日付と同じかそれより前であるかを得られます。

プラグイン IsSameOrBefore

IsBetween

.isBetweenで他の 2 つの日付の間であるかどうかを得られます。

プラグイン IsBetween

QuarterOfYear

.quarterで年の四半期のいつかが得られます。

プラグイン QuarterOfYear

ToArray

.toArrayでパラメータの配列が得られます。

プラグイン ToArray

ToObject

.toObjectでパラメータをキーに持ったオブジェクトが得られます。

プラグイン ToObject

MinMax

.min .maxで与えた複数のDayjsインスタンスの中から最小もしくは最大のものが得られます。

プラグイン MinMax

Calendar

.calendarで与えた日付のカレンダー上の情報が得られます。

プラグイン Calendar