現在の日時を取得(ローカル時間)
現在の日時を取得するには、Dateオブジェクトを使用します。
引数に日時を指定することで、指定した日時のインスタンスを返します。
- ※ JavaScriptで得られる日時はお使いのパソコンや端末の日時を取得しています。
デモ
構文
var dateInstance = new Date();
var dateInstance = new Date(value);
var dateInstance = new Date(date string);
var dateInstance = new Date(year, month, day [, hour, minute, second, millisecond]);
| 引数名 | 説明 | |
|---|---|---|
| 第一引数 | value | ミリ秒のタイムスタンプ |
| 第二引数 | date string | 「January 1, 1970 00:00:00」といったような日付を表す書式 |
| 第三引数 | year | 4桁の年 |
| 第四引数 | month | 月(0~11の整数値) |
| 第五引数 | day | 日(1~31の整数値) |
| 第六引数 | hour | 時(0~59の整数値) |
| 第七引数 | minute | 分(0~59の整数値) |
| 第八引数 | second | 秒(0~59の整数値) |
| 第九引数 | millisecond | ミリ秒(0~999の整数値) |
戻り値
Dateオブジェクトのインスタンスを返します。
各種情報の取得メソッドと設定メソッド
Dateオブジェクト(クラス)には日付や時間などを取得可能なメソッドが用意されています。
取得するためのメソッド
| メソッド名 | 説明 |
|---|---|
| getFullYear | 4桁の年 |
| getYear | 2桁の年 |
| getMonth | 1桁~2桁の月(0~11) |
| getDate | 1桁~2桁の日(1~31) |
| getHours | 1桁~2桁の時(0~23) |
| getMinutes | 1桁~2桁の分(0~59) |
| getSeconds | 1桁~2桁の秒(0~59) |
| getMilliseconds | 1桁~3桁のミリ秒 |
| getDay | 1桁~2桁の曜日(0~6) |
| getTime | 1970年1月1日0時0分0秒かを起点とした経過日時をミリ秒で表した時間 |
| toGMTString | グリニッジ標準時間(GMT)の文字列 |
| toUTCString | 世界協定時間(UTC)の文字列 |
JavaScript
var dateObject = new Date(),
year = dateObject.getFullYear(),
month = dateObject.getMonth(),
date = dateObject.getDate();
alert(year + '年' + (month + 1) + '月' + date + '日');
また、それぞれの日付や時間を設定するためのメソッドも用意されています。
設定するためのメソッド
| メソッド名 | 説明 |
|---|---|
| setFullYear | 4桁の年 |
| setYear | 2桁の年 |
| setMonth | 1桁~2桁の月(0~11) |
| setDate | 1桁~2桁の日(1~31) |
| setHoures | 1桁~2桁の時(0~23) |
| setMinutes | 1桁~2桁の分(0~59) |
| setSeconds | 1桁~2桁の秒(0~59) |
| setMilliseconds | 1桁~3桁のミリ秒 |
| setDay | 1桁~2桁の曜日(0~6) |
| setTime | 1970年1月1日0時0分0秒かを起点とした経過日時をミリ秒で表した時間 |
JavaScript
var dateObject = new Date(),
year = 2020,
month = 3,
date = 21;
dateObject.setFullYear(year);
dateObject.setMonth(month - 1);
dateObject.setDate(date);
月は0が1月、11が12月として返し、曜日は0が日曜日、6が土曜日として数値で返します。
応用コード
次のコードは現在日時の取得を関数にし、HTML上に表示するコードです。
JavaScript
/**
* 現在の日時を取得
* @return {string} 現在の日時を"YYYY年MM月DD日 HH時MM分SS秒(W)"の書式で返す
*/
var getDateTime = function() {
var dateObj = new Date(),
dateYear = dateObj.getFullYear(),
dateMonth = dateObj.getMonth() + 1,
dateDay = dateObj.getDate(),
dateWeek = dateObj.getDay(),
timeHour = dateObj.getHours(),
timeMinutes = dateObj.getMinutes(),
timeSeconds = dateObj.getSeconds(),
weekNames = ['日', '月', '火', '水', '木', '金', '土'],
result = '';
// 一桁の場合は0を追加
if (timeHour < 10) timeHour = '0' + timeHour;
if (timeMinutes < 10) timeMinutes = '0' + timeMinutes;
if (timeSeconds < 10) timeSeconds = '0' + timeSeconds;
// 文字列の結合
result = dateYear + '年' + dateMonth + '月' + dateDay + '日' + '(' + weekNames[dateWeek] + ') ';
result += timeHour + '時' + timeMinutes + '分' + timeSeconds + '秒';
return result;
};
使い方
HTML
<div id="clockbox"> </div>
JavaScript
displayElement = document.getElementById('clockbox'),
displayElement.innerHTML = getDateTime();