メインコンテンツまでスキップ

Date

Dateは時刻のためのJavaScriptの読み込みクラスです。DateオブジェクトはUTC(協定世界時)の1970/01/01からの経過ミリ秒を表す数値を含んでいます。

はじめに、Dateオブジェクトについて

Dateオブジェクトは1977年に廃止されたJavaのDateクラスを基にして10日でJavaScriptエンジンに含まれました。そのためwebを壊さない限り修正できないほど壊れていると言われているほどAPIがひどく、操作が難しいものとなっています。
そのため、ここで紹介するDateオブジェクトをそのまま使うのではなく、日付を扱うパッケージの導入を積極的に検討してください。

また、執筆時点でTemporalという新しい日付操作のAPIが開発されています。

よく見る日付操作のパッケージ

date-fns

オブジェクトというよりは関数として日付の操作をします。直接Dateオブジェクトを操作する上での煩わしい点をカバーします。

Day.js

軽量な日付操作のためのオブジェクトを提供します。後述するMoment.jsとAPIに互換性があり、Moment.jsを使っているプロジェクトでの乗り換え先に検討されることがあります。

Moment.js

日付操作のためのパッケージとして絶大な知名度がありますが現在は新規開発は行われておらず、積極的に新規プロジェクトで導入する必要はありません。

Dateの操作

年を取得する - getFullYear

年を取得します。誤ってgetYearを使用しないでください。

年の下2-3桁を取得する - getYear

非推奨です。与えられた日付の念を表す数値から1900を引いた値を返します。代わりにgetFullYearを使ってください。

月を取得する - getMonth

月を取得しますが、0-11を返すため実際の月にするためには1を加算してください。

日を取得する - getDate

日を取得します。謝ってgetDayを使用しないでください。

曜日を取得する - getDay

曜日を取得します。0-6を返します。0が日曜日、1が月曜日のようになっています。

時を取得する - getHours

時を取得します。

分を取得する - getMinutes

分を取得します。

秒を取得する - getSeconds

秒を取得します。

ミリ秒を取得する - getMilliseconds

ミリ秒を取得します。

UTC 1970/01/01 00:00:00からの経過ミリ秒を取得する - getTime

協定世界時の1970/01/01 00:00:00からの経過ミリ秒単位の数値で返します。

ISO8601に準じた文字列に変換する - toJSON

ISO8601に準じた文字列を返します。ISO8601はYYYY-MM-DDThh:mm:ss.sssZの形式です。

  • 質問する ─ 読んでも分からなかったこと、TypeScriptで分からないこと、お気軽にGitHubまで🙂
  • 問題を報告する ─ 文章やサンプルコードなどの誤植はお知らせください。