JavaScript date (日付):変数のデータ型

English version.

JavaScriptのDateオブジェクトは、日付と時間を表現するために使用されます。JavaScriptにおける日付は、ミリ秒単位で表現されます。Dateオブジェクトを使用することで、日付と時間の操作が容易になります。

目次

コード例

以下は、Dateオブジェクトを使用して現在の日付と時刻を取得する例です。

const now = new Date();

console.log(now);

この例では、new Date()コンストラクタを使用して、現在の日付と時刻を表すDateオブジェクトを作成し、それをnow変数に代入しています。console.log()メソッドを使用して、now変数の値をコンソールに出力しています。

Dateオブジェクトは、さまざまな形式の日付と時刻を表現することができます。Dateオブジェクトのメソッドを使用することで、日付や時刻を取得したり、加算したり、減算したりすることができます。以下は、いくつかの一般的なDateオブジェクトのメソッドの例です。

const now = new Date();

// 日付の取得
const year = now.getFullYear();
const month = now.getMonth() + 1;
const day = now.getDate();

// 時刻の取得
const hours = now.getHours();
const minutes = now.getMinutes();
const seconds = now.getSeconds();

この例では、Dateオブジェクトから現在の日付と時刻を取得するために、getFullYear()、getMonth()、getDate()、getHours()、getMinutes()、getSeconds()メソッドを使用しています。

JavaScriptのDateオブジェクトは、日付と時刻を取り扱う場合に非常に便利なツールです。

Dateオブジェクトの代表的なメソッド

getDate(): 日付の日にち部分を取得します。

getDate()メソッドは、Dateオブジェクトが保持する日付のうち、月の何日かを表す1~31の整数値を返します。

例えば、以下のコードでは、現在の日付を取得して、その月の何日かを表示しています。

const today = new Date();

const dayOfMonth = today.getDate();

console.log(`Today is the ${dayOfMonth}th of the month.`);

このコードは、現在の日付を表すDateオブジェクトを作成し、getDate()メソッドを呼び出して、日付の値を取得しています。そして、その値を文字列に埋め込んでコンソールに表示しています。

このコードを実行すると、現在の日付の月の何日かが表示されます。

getDay(): 日付の曜日を取得します。0が日曜日、1が月曜日、2が火曜日、…、6が土曜日を表します。

getDay()メソッドは、Dateオブジェクトが保持する日付のうち、曜日を表す0~6の整数値を返します。

このメソッドでは、日曜日を0、月曜日を1、火曜日を2、水曜日を3、木曜日を4、金曜日を5、土曜日を6として表します。

例えば、以下のコードでは、現在の日付を取得して、その曜日を表示しています。

const daysOfWeek = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];

const today = new Date();

const dayOfWeek = daysOfWeek[today.getDay()];

console.log(`Today is ${dayOfWeek}.`);

このコードは、現在の日付を表すDateオブジェクトを作成し、getDay()メソッドを呼び出して、曜日の値を取得しています。そして、曜日の値に対応する文字列を配列から取得し、その文字列を埋め込んでコンソールに表示しています。

このコードを実行すると、現在の日付の曜日が表示されます。

getFullYear(): 日付の年を4桁の数字で取得します。

getFullYear()メソッドは、Dateオブジェクトが保持する日付の年を表す4桁の整数を返します。

例えば、以下のコードでは、現在の日付を取得して、その年を表示しています。

const today = new Date();

const year = today.getFullYear();

console.log(`This year is ${year}.`);

このコードは、現在の日付を表すDateオブジェクトを作成し、getFullYear()メソッドを呼び出して、年の値を取得しています。そして、その値を埋め込んでコンソールに表示しています。

このコードを実行すると、現在の年が表示されます。

getHours(): 日付の時間を取得します。

getHours()メソッドは、Dateオブジェクトが保持する日付の時間を表す0から23の整数値を返します。

例えば、以下のコードでは、現在の時刻を取得して、その時間を表示しています。

const now = new Date();

const hours = now.getHours();

console.log(`It is now ${hours} o'clock.`);

このコードは、現在の日付と時刻を表すDateオブジェクトを作成し、getHours()メソッドを呼び出して、時間の値を取得しています。そして、その値を埋め込んでコンソールに表示しています。

このコードを実行すると、現在の時刻が表示されます。

getMilliseconds(): 日付のミリ秒を取得します。

getMilliseconds()メソッドは、Dateオブジェクトが保持する日付のミリ秒を表す0から999の整数値を返します。

例えば、以下のコードでは、現在の時刻を取得して、そのミリ秒を表示しています。

const now = new Date();

const milliseconds = now.getMilliseconds();

console.log(`Milliseconds: ${milliseconds}`);

このコードは、現在の日付と時刻を表すDateオブジェクトを作成し、getMilliseconds()メソッドを呼び出して、ミリ秒の値を取得しています。そして、その値を埋め込んでコンソールに表示しています。

このコードを実行すると、現在のミリ秒が表示されます。

getMinutes(): 日付の分を取得します。

getMinutes()メソッドは、Dateオブジェクトが保持する日付の分を表す0から59の整数値を返します。

例えば、以下のコードでは、現在の時刻を取得して、その分を表示しています。

const now = new Date();

const minutes = now.getMinutes();

console.log(`Minutes: ${minutes}`);

このコードは、現在の日付と時刻を表すDateオブジェクトを作成し、getMinutes()メソッドを呼び出して、分の値を取得しています。そして、その値を埋め込んでコンソールに表示しています。

このコードを実行すると、現在の分が表示されます。

getMonth(): 日付の月を取得します。0が1月、1が2月、2が3月、…、11が12月を表します。

getMonth()メソッドは、Dateオブジェクトが保持する日付の月を表す0から11の整数値を返します。このため、0が1月、11が12月に対応します。

例えば、以下のコードでは、現在の時刻を取得して、その月を表示しています。

const now = new Date();

const month = now.getMonth() + 1;

console.log(`Month: ${month}`);

このコードは、現在の日付と時刻を表すDateオブジェクトを作成し、getMonth()メソッドを呼び出して、月の値を取得しています。そして、取得した値に1を足して、その値を埋め込んでコンソールに表示しています。getMonth()メソッドが返すのは0から11までの数値なので、実際の月を取得するために1を足しています。

このコードを実行すると、現在の月が表示されます。

getSeconds(): 日付の秒を取得します。

getSeconds()メソッドは、Dateオブジェクトが保持する日付の秒を表す0から59の整数値を返します。

以下は、現在の時刻を取得して、その秒を表示する例です。

const now = new Date();

const seconds = now.getSeconds();

console.log(`Seconds: ${seconds}`);

このコードは、現在の日付と時刻を表すDateオブジェクトを作成し、getSeconds()メソッドを呼び出して、秒の値を取得しています。そして、取得した値を埋め込んでコンソールに表示しています。

このコードを実行すると、現在の秒が表示されます。

getTime(): 1970年1月1日00:00:00 UTCからの経過時間をミリ秒で取得します。

getTime()メソッドは、Dateオブジェクトが表す日時のUTCから1970年1月1日00:00:00までの経過時間をミリ秒単位で返します。つまり、Unixエポック時刻と呼ばれる、UTCでの1970年1月1日00:00:00からの経過時間を表す数値を返します。

以下は、現在の時刻を取得し、getTime()メソッドを使ってUnixエポック時刻を取得する例です。

const now = new Date();

const epochTime = now.getTime();

console.log(`Epoch time: ${epochTime}`);

このコードは、現在の日付と時刻を表すDateオブジェクトを作成し、getTime()メソッドを呼び出して、Unixエポック時刻を取得しています。そして、取得した値を埋め込んでコンソールに表示しています。

このコードを実行すると、現在のUnixエポック時刻が表示されます。

getTimezoneOffset(): ブラウザのタイムゾーンとUTCとの差を分単位で取得します。

getTimezoneOffset()メソッドは、Dateオブジェクトのメソッドの一つで、ブラウザが実行されているローカルタイムとUTC(協定世界時)との差を分単位で返します。

このメソッドを使うと、ブラウザのローカルタイムとUTCの時差を知ることができます。返される値は、ローカルタイムがUTCより早い場合は負の値、遅い場合は正の値になります。

以下は、getTimezoneOffset()メソッドを使用して、ブラウザのローカルタイムとUTCの時差を求める例です。

const now = new Date();

const offsetInMinutes = now.getTimezoneOffset();

console.log(`The browser's local time is ${offsetInMinutes} minutes behind UTC`);

このコードは、現在の日時を表すDateオブジェクトを作成し、getTimezoneOffset()メソッドを使用してローカルタイムとUTCの時差を求め、コンソールに結果を出力します。

このコードを実行すると、ブラウザのローカルタイムがUTCより何分遅れているかが分単位で表示されます。

setDate(): 日付の日にち部分を設定します。

setDate()メソッドは、Dateオブジェクトの日付部分を設定するために使用されます。このメソッドは、引数として設定した日付を表す1〜31の整数値を受け取ります。

例えば、以下のようにして、setDate()メソッドを使用して現在の日付から1日後の日付を取得できます。

const now = new Date();

now.setDate(now.getDate() + 1);

console.log(now);

このコードでは、現在の日付を表すDateオブジェクトを作成し、getDate()メソッドを使用して現在の日付を取得します。次に、setDate()メソッドを使用して、日付を1日後に設定します。最後に、更新されたDateオブジェクトをコンソールに出力します。

setDate()メソッドは、指定した日付が範囲外の場合には、自動的に月や年を調整します。たとえば、31日を設定しようとすると、月末の日付に設定されます。

const now = new Date('2022-04-30');

now.setDate(31);

console.log(now); // 2022-05-01

この例では、setDate()メソッドで31日を設定しましたが、4月には30日しかありません。しかし、setDate()メソッドは自動的に5月1日に日付を調整します。

setFullYear(): 日付の年を4桁の数字で設定します。

JavaScriptのDateオブジェクトのsetFullYear()メソッドは、年の値を設定するために使用されます。このメソッドは、Dateオブジェクトの年部分を、指定された年に設定します。

setFullYear()メソッドには、1つから3つの引数を指定できます。

  • 1つの引数を指定した場合は、その引数が年を表す整数値として解釈されます。
  • 2つの引数を指定した場合は、最初の引数が年を表す整数値、2番目の引数が月を表す整数値として解釈されます。
  • 3つの引数を指定した場合は、最初の引数が年を表す整数値、2番目の引数が月を表す整数値、3番目の引数が日を表す整数値として解釈されます。

以下は、setFullYear()メソッドを使用してDateオブジェクトの年を設定する例です。

// 現在の日付を取得
var currentDate = new Date();

// 年を2022に設定する
currentDate.setFullYear(2022);

// 年月日を指定して設定する
currentDate.setFullYear(2023, 5, 1);

// 年を出力する
console.log(currentDate.getFullYear());

この例では、現在の日付を取得し、setFullYear()メソッドを使用して年を2022に設定し、さらに別のsetFullYear()メソッドを使用して年月日を指定して年を2023に設定しています。最後に、getFullYear()メソッドを使用して年を出力しています。

setHours(): 日付の時間を設定します。

JavaScriptのDateオブジェクトのsetHours()メソッドは、時間の値を設定するために使用されます。このメソッドは、Dateオブジェクトの時刻部分を、指定された時刻に設定します。

setHours()メソッドには、1つから4つの引数を指定できます。

  • 1つの引数を指定した場合は、その引数が時を表す整数値として解釈されます。
  • 2つの引数を指定した場合は、最初の引数が時を表す整数値、2番目の引数が分を表す整数値として解釈されます。
  • 3つの引数を指定した場合は、最初の引数が時を表す整数値、2番目の引数が分を表す整数値、3番目の引数が秒を表す整数値として解釈されます。
  • 4つの引数を指定した場合は、最初の引数が時を表す整数値、2番目の引数が分を表す整数値、3番目の引数が秒を表す整数値、4番目の引数がミリ秒を表す整数値として解釈されます。

以下は、setHours()メソッドを使用してDateオブジェクトの時間を設定する例です。

// 現在の日付を取得
var currentDate = new Date();

// 時間を10時に設定する
currentDate.setHours(10);

// 時間と分を設定する
currentDate.setHours(11, 30);

// 時間、分、秒を設定する
currentDate.setHours(12, 45, 30);

// 時間、分、秒、ミリ秒を設定する
currentDate.setHours(13, 15, 45, 500);

// 時間を出力する
console.log(currentDate.getHours());

この例では、現在の日付を取得し、setHours()メソッドを使用して時間を10時、11時30分、12時45分30秒、13時15分45秒500ミリ秒に設定しています。最後に、getHours()メソッドを使用して時間を出力しています。

setMilliseconds(): 日付のミリ秒を設定します。

JavaScriptのDateオブジェクトのsetMilliseconds()メソッドは、ミリ秒の値を設定するために使用されます。このメソッドは、Dateオブジェクトのミリ秒部分を、指定されたミリ秒に設定します。

setMilliseconds()メソッドには、1つの引数があります。この引数は、ミリ秒を表す整数値でなければなりません。

以下は、setMilliseconds()メソッドを使用してDateオブジェクトのミリ秒を設定する例です。

// 現在の日付を取得
var currentDate = new Date();

// ミリ秒を500に設定する
currentDate.setMilliseconds(500);

// ミリ秒を出力する
console.log(currentDate.getMilliseconds());

この例では、現在の日付を取得し、setMilliseconds()メソッドを使用してミリ秒を500に設定し、最後にgetMilliseconds()メソッドを使用してミリ秒を出力しています。

setMinutes(): 日付の分を設定します。

JavaScriptのDateオブジェクトのsetMinutes()メソッドは、分の値を設定するために使用されます。このメソッドは、Dateオブジェクトの分部分を、指定された分に設定します。

setMinutes()メソッドには、1つから3つの引数を指定できます。

  • 1つの引数を指定した場合は、その引数が分を表す整数値として解釈されます。
  • 2つの引数を指定した場合は、最初の引数が分を表す整数値、2番目の引数が秒を表す整数値として解釈されます。
  • 3つの引数を指定した場合は、最初の引数が分を表す整数値、2番目の引数が秒を表す整数値、3番目の引数がミリ秒を表す整数値として解釈されます。

以下は、setMinutes()メソッドを使用してDateオブジェクトの分を設定する例です。

// 現在の日付を取得
var currentDate = new Date();

// 分を15に設定する
currentDate.setMinutes(15);

// 分と秒を設定する
currentDate.setMinutes(30, 45);

// 分、秒、ミリ秒を設定する
currentDate.setMinutes(45, 30, 500);

// 分を出力する
console.log(currentDate.getMinutes());

この例では、現在の日付を取得し、setMinutes()メソッドを使用して分を15に設定し、さらに別のsetMinutes()メソッドを使用して分と秒を指定して設定し、さらに別のsetMinutes()メソッドを使用して分、秒、ミリ秒を指定して設定しています。最後に、getMinutes()メソッドを使用して分を出力しています。

setMonth(): 日付の月を設定します。0が1月、1が2月、2が3月、…、11が12月を表します。

JavaScriptのDateオブジェクトのsetMonth()メソッドは、月の値を設定するために使用されます。このメソッドは、Dateオブジェクトの月部分を、指定された月に設定します。

setMonth()メソッドには、1つから2つの引数を指定できます。

  • 1つの引数を指定した場合は、その引数が月を表す整数値として解釈されます。この場合、月の値は0から11までの範囲で指定されます。0は1月、11は12月を表します。
  • 2つの引数を指定した場合は、最初の引数が月を表す整数値、2番目の引数が日を表す整数値として解釈されます。

以下は、setMonth()メソッドを使用してDateオブジェクトの月を設定する例です。

// 現在の日付を取得
var currentDate = new Date();

// 月を2月に設定する
currentDate.setMonth(1);

// 月と日を設定する
currentDate.setMonth(3, 15);

// 月を出力する
console.log(currentDate.getMonth());

この例では、現在の日付を取得し、setMonth()メソッドを使用して月を2月に設定し、別のsetMonth()メソッドを使用して月を4月、日を15日に設定しています。最後に、getMonth()メソッドを使用して月を出力しています。

setSeconds(): 日付の秒を設定します。

JavaScriptのDateオブジェクトのsetSeconds()メソッドは、秒の値を設定するために使用されます。このメソッドは、Dateオブジェクトの秒部分を、指定された秒に設定します。

setSeconds()メソッドには、1つから2つの引数を指定できます。

  • 1つの引数を指定した場合は、その引数が秒を表す整数値として解釈されます。
  • 2つの引数を指定した場合は、最初の引数が秒を表す整数値、2番目の引数がミリ秒を表す整数値として解釈されます。

以下は、setSeconds()メソッドを使用してDateオブジェクトの秒を設定する例です。

// 現在の日付を取得
var currentDate = new Date();

// 秒を30に設定する
currentDate.setSeconds(30);

// 秒とミリ秒を設定する
currentDate.setSeconds(45, 500);

// 秒を出力する
console.log(currentDate.getSeconds());

この例では、現在の日付を取得し、setSeconds()メソッドを使用して秒を30に設定し、別のsetSeconds()メソッドを使用して秒を45、ミリ秒を500に設定しています。最後に、getSeconds()メソッドを使用して秒を出力しています

setTime(): 1970年1月1日00:00:00 UTCからの経過時間をミリ秒で設定します。

JavaScriptのDateオブジェクトのsetTime()メソッドは、日付の時刻部分を、指定された時間に設定します。このメソッドは、指定された時間をミリ秒単位の数値で表した値に基づいて、Dateオブジェクトを更新します。

setTime()メソッドには、1つの引数があります。この引数は、Dateオブジェクトが設定される新しい時刻を表す、ミリ秒単位の数値でなければなりません。

以下は、setTime()メソッドを使用してDateオブジェクトの時刻を設定する例です。

// 現在の日付を取得
var currentDate = new Date();

// 1分後の時刻を設定する
currentDate.setTime(currentDate.getTime() + 60000);

// 時刻を出力する
console.log(currentDate);

この例では、現在の日付を取得し、setTime()メソッドを使用して、現在の日付に1分を加えた時刻を設定しています。最後に、Dateオブジェクトを出力して、時刻を確認しています。

---

関連記事

JavaScriptの記事一覧