Skip to content
Day.js

日本語

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
한국어
Italiano
Polski
Türkçe
čeština
magyar

日本語

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
한국어
Italiano
Polski
Türkçe
čeština
magyar

外観

Sidebar Navigation

インストール

Node.js

ブラウザ

TypeScript

ダウンロード

解析

現在

String

文字列 + フォーマット

Unix タイムスタンプ(ミリ秒)

Unix Timestamp (seconds)

Date

オブジェクト

Array

UTC

Day.js のクローン

バリデーション

Get + Set

ミリ秒

秒

分

Hour

月の日付

曜日

曜日(ようび)(ロケール対応)

ISO週日

年間日数

年の週番号

週番号 (ISO)

Month

四半期

年

週番号 (週年数)

ISO週番号年

年間の週数(ISO週)

Get

Set

Maximum

Minimum

操作/編集

Add

Subtract

時間の開始

時間の終わり

Local

UTC

UTC オフセット

表示方法

フォーマット

現在からの相対時間

X からの相対時間

現在までの相対時間

X までの相対時間

Calendar Time

Difference

Unixタイムスタンプ(ミリ秒単位)

Unix Timestamp

月の日数

JavaScript の Date オブジェクトとして

配列として取得

JSONとして

ISO 8601 形式の文字列に変換

オブジェクト形式で返す

文字列として取得

照会

Is Before

Is Same

Is After

同じかそれ以前

同じかそれ以降か

Is Between

Day.js オブジェクトの判定

閏年であるか

i18n

NodeJS でのロケールの読み込み

ブラウザでのロケールの読み込み

グローバルロケールの変更

ローカルでロケールを変更する

現在の Day.js のロケールを取得する

現在のロケールにおける月と曜日のリスト

ロケール固有の機能へのアクセス

プラグイン

NodeJS におけるプラグインの読み込み

ブラウザでのプラグインのロード

AdvancedFormat

ArraySupport

BadMutable

BigIntSupport

BuddhistEra

カレンダー

CustomParseFormat

DayOfYear

DevHelper

Duration

IsBetween

IsLeapYear

IsSameOrAfter

IsSameOrBefore

IsToday

IsTomorrow

IsYesterday

IsoWeek

IsoWeeksInYear

LocaleData

LocalizedFormat

MinMax

ObjectSupport

PluralGetSet

PreParsePostFormat

QuarterOfYear

相対時間表現

タイムゾーン

ToArray

ToObject

UpdateLocale

UTC

weekOfYear

WeekYear

曜日

カスタマイズ

月名

月の略称

曜日の名前

曜日の略称

最短の曜日略称

相対時間

カレンダー

Durations

作成

クローン

Humanize

フォーマット

ミリ秒

秒

分

時間

日数

週

月

年

時間の加算

時間の減算

Diff で期間を使用する

時間の単位として

時間単位の取得方法

JSONとして

Durationであるかの確認

ISO 8601 形式の文字列

ロケール

タイムゾーン

タイムゾーンでの解析

タイムゾーンの変換

ユーザーのタイムゾーンを推測する

デフォルトタイムゾーンの設定

このページの内容

相対時間 ​

Locale#relativeTime は、dayjs#from で使用される置換文字列をまとめたオブジェクトです。

TIP

これを使用するには、UpdateLocale プラグインが必要です。

js
dayjs.extend(updateLocale);

dayjs.updateLocale('en', {
  relativeTime: {
    future: 'in %s', // 未来 (例: in 5 minutes)
    past: '%s ago', // 過去 (例: 5 minutes ago)
    s: 'a few seconds', // 数秒
    m: 'a minute', // 1分
    mm: '%d minutes', // %d分
    h: 'an hour', // 1時間
    hh: '%d hours', // %d時間
    d: 'a day', // 1日
    dd: '%d days', // %d日
    M: 'a month', // 1ヶ月
    MM: '%d months', // %dヶ月
    y: 'a year', // 1年
    yy: '%d years', // %d年
  },
});

Locale#relativeTime.future は、未来の日付に対する接頭辞または接尾辞を表します。Locale#relativeTime.past は、過去の日付に対する接頭辞または接尾辞を表します。

それ以外の場合、キーが 1 文字の場合は単数形、2 文字の場合は複数形を意味します。

追加のトークン処理 ​

ロケールがトークンに対して特別な処理を必要とする場合、文字列の代わりに、次のシグネチャを持つ関数としてトークンを設定できます。関数は文字列を返す必要があります。

js
relativeTime: {
  ...,
  yy: function (number, withoutSuffix, key, isFuture) {
    return string;
  }
}

number 引数は、そのキーに対応する単位の数を表します。例えば、m の場合、数値は分の数を指します。

withoutSuffix 引数は、接尾辞なしで表示される場合は true、接尾辞付きで表示される場合は false になります。(デフォルトでは接尾辞が付くため、このような逆のロジックになっています。)

key 引数は、Locale#relativeTime オブジェクト内の置換キーを表します。(例:s, m, mm, h など)

isFuture 引数は、未来の接尾辞/接頭辞を使用する場合は true、過去の接尾辞/接頭辞を使用する場合は false になります。

相対時間の閾値と丸め処理 ​

このプラグインを使用する際に、設定オブジェクトを渡すことで、閾値と丸め処理の設定を更新できます。

js
var config = {
  thresholds: [{}],
  rounding: function
}
dayjs.extend(relativeTime, config)

thresholds は、ある単位を分、時間などとみなすかを定義する Object の Array です。例えば、デフォルトでは、45 秒を超えると 1 分、22 時間を超えると 1 日として扱われます。これらの値を変更するには、次のように新しい thresholds を渡します。

js
// 厳密な閾値設定
var thresholds = [
  { l: 's', r: 1 },
  { l: 'm', r: 1 },
  { l: 'mm', r: 59, d: 'minute' },
  { l: 'h', r: 1 },
  { l: 'hh', r: 23, d: 'hour' },
  { l: 'd', r: 1 },
  { l: 'dd', r: 29, d: 'day' },
  { l: 'M', r: 1 },
  { l: 'MM', r: 11, d: 'month' },
  { l: 'y', r: 1 },
  { l: 'yy', d: 'year' },
];

独自の閾値キーを追加し、それに基づいてロケールを更新することも可能です。

js
var thresholds = [
  ...,
  { l: 'ss', r: 59, d: 'second' }
]
dayjs.updateLocale('en', {
  relativeTime: {
    ...,
    ss: "%d seconds"
  }
})

rounding は、ロケールで指定された relativeTime 形式文字列に数値を渡す前に実行される Function です。この処理を変更するには、次のように新しい rounding 関数を指定します。

js
// デフォルトは Math.round
var rounding = Math.floor;
Pager
前のページ最短の曜日略称
次のページカレンダー

MITライセンス の下で公開されています。

Copyright (c) 2020 iamkun

https://day.js.org/docs/en/customization/relative-time

MITライセンス の下で公開されています。

Copyright (c) 2020 iamkun