JavaScript date (日付):変数のデータ型
JavaScriptのDateオブジェクトは、日付と時間を表現するために使用されます。JavaScriptにおける日付は、ミリ秒単位で表現されます。Dateオブジェクトを使用することで、日付と時間の操作が容易になります。
- 1. コード例
- 1.1. Dateオブジェクトの代表的なメソッド
- 1.1.1. getDate(): 日付の日にち部分を取得します。
- 1.1.2. getDay(): 日付の曜日を取得します。0が日曜日、1が月曜日、2が火曜日、…、6が土曜日を表します。
- 1.1.3. getFullYear(): 日付の年を4桁の数字で取得します。
- 1.1.4. getHours(): 日付の時間を取得します。
- 1.1.5. getMilliseconds(): 日付のミリ秒を取得します。
- 1.1.6. getMinutes(): 日付の分を取得します。
- 1.1.7. getMonth(): 日付の月を取得します。0が1月、1が2月、2が3月、…、11が12月を表します。
- 1.1.8. getSeconds(): 日付の秒を取得します。
- 1.1.9. getTime(): 1970年1月1日00:00:00 UTCからの経過時間をミリ秒で取得します。
- 1.1.10. getTimezoneOffset(): ブラウザのタイムゾーンとUTCとの差を分単位で取得します。
- 1.1.11. setDate(): 日付の日にち部分を設定します。
- 1.1.12. setFullYear(): 日付の年を4桁の数字で設定します。
- 1.1.13. setHours(): 日付の時間を設定します。
- 1.1.14. setMilliseconds(): 日付のミリ秒を設定します。
- 1.1.15. setMinutes(): 日付の分を設定します。
- 1.1.16. setMonth(): 日付の月を設定します。0が1月、1が2月、2が3月、…、11が12月を表します。
- 1.1.17. setSeconds(): 日付の秒を設定します。
- 1.1.18. setTime(): 1970年1月1日00:00:00 UTCからの経過時間をミリ秒で設定します。
- 1.1. Dateオブジェクトの代表的なメソッド
- 2. 関連記事
コード例
以下は、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オブジェクトを出力して、時刻を確認しています。
---