「JavaScript/Date」の版間の差分
削除された内容 追加された内容
→資料: 更新; +toLocaleString('ja-JP-u-ca-japanese', {era: 'long'})() |
加筆 |
||
1 行
{{Nav}}
== Dateオブジェクト ==
Dateオブジェクトは日付を扱うためのオブジェクトで
次の様に書くことで、現在時を取得する事が出来る。
<source lang=javascript>
12 ⟶ 11行目:
日付を指定してオブジェクトを作成したい場合には、次の様に日付を指定していく。
<source lang=javascript>
const d = new Date(
const d = new Date(
const d = new Date(
</source>
(年を0~99で指定した場合は19xx年を設定するため、西暦0~99年を指定したいときはsetFullYearを利用する。)
Dateオブジェクトには次の問題点があ
まず、Dateオブジェクトは有限の範囲の日付しか扱え
この範囲は、UNIX時間にNumber.MAX_SAFE_INTEGER(2 ** 53 - 1)ミリ秒足したもの'''ではない'''事に注意してください。
ECMA-262 は、Dateオブジェクトで表すことができる時刻の範囲はエポックから前後 ±100,000,000 (1億) 日、紀元前271821年4月20日から紀元275760年9月13日)と定義してい
また、
===静的メソッド===
==== Date.parse(
文字列を解析して、1970年1月1日からの経過
解析した結果はDateオブジェクトで返されるわけではないので、Dateオブジェクトへの変換は次の様に行う。
35 ⟶ 34行目:
d.setTime(Date.parse("2001/9/11"));
</source>
==== Date.UTC (year, month [, date [, hours [, minutes [, seconds [, ms
1970年1月1日からの経過
<source lang=javascript>
const d = new Date();
d.setTime(
</source>
47 ⟶ 46行目:
==== Date.prototype.getFullYear() ====
地方時の西暦の年を返します。よく似たメソッドにDate.prototype.
==== Date.prototype.getMonth() ====
地方時の月を返します。返される値は0~11の範囲の値を取り、実際の月数より1少ない。
つまり1月の場合は0、2月の場合は1が返
<source lang=javascript>
const d = new Date();
console.log(d.getMonth()) // 5
console.log("Jab Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" ")[d.getMonth()]); // Jun
</source>
==== Date.prototype.getDate() ====
地方時の日付(1~31)を取得する。
==== Date.prototype.getDay() ====
地方時の曜日を取得する。Date.prototype.getDay() メソッドは、地方時に基づき、指定された日付の「曜日」を返します。
==== Date.prototype.getHours() ====
地方時の時間(0~23)を取得する。
==== Date.prototype.getSeconds() ====
地方時の分(0~59)を取得する。
==== Date.prototype.getMinutes() ====
地方時の秒(0~59)を取得する。
==== Date.prototype.getMilliseconds() ====
地方時の1秒未満(ミリ
==== Date.prototype.setFullYear(year [, month [, date
地方時の年を設定する。
==== Date.prototype.setMonth(month [, date
地方時の月(0-11)を設定する。
==== Date.prototype.setDate(date) ====
地方時の日を設定する。
==== Date.prototype.setHours(hour [, min [, sec [, ms
地方時の時を設定する。
==== Date.prototype.setMinutes(min [, sec [, ms
地方時の分を設定する。
==== Date.prototype.setSeconds(sec [, ms
地方時の秒を設定する。
==== Date.prototype.setMilliseconds(ms) ====
地方時の1秒未満(ミリ秒単位)を設定する。
=== 協定世界時のメソッド ===
==== Date.prototype.getUTCFullYear() ====
100 ⟶ 104行目:
==== Date.prototype.getUTCMonth() ====
協定世界時での月(0-11)を取得する。
==== Date.prototype.getUTCDate() ====
117 ⟶ 121行目:
協定世界時でのミリ秒を取得する。
==== Date.prototype.setUTCFullYear(year [, month [, date
協定世界時での年を設定します。
==== Date.prototype.setUTCMonth(month [, date
協定世界時での月を設定します。
126 ⟶ 130行目:
協定世界時での日を設定します。
==== Date.prototype.setUTCHours(hour [, min [, sec [, ms
協定世界時での時間を設定します。
==== Date.prototype.setUTCMinutes(min [, sec [, ms
協定世界時での分を設定します。
==== Date.prototype.setUTCSeconds(sec [, ms
協定世界時での秒を設定します。
139 ⟶ 143行目:
=== 時間取得メソッド ===
これらのメソッドは時間を人
==== Date.prototype.toString() ====
人間に読みやすい形で、文字列に変換した値を返します。
<del>どの様な値を返すのかは仕様に定められておらす、実装によって微妙に値は異なる。</del>
ES2018/ES9までは、 Date.prototype.toString が返す文字列の書式は実装に依存していました<ref>[https://tc39.es/ecma262/#sec-date.prototype.tostring ECMA-262::21.4.4.41 Date.prototype.toString ()]</ref>。
d.ValeuOf() が 1000 で割り切れるような Date オブジェクト d については、Date.parse(d.toString()) === d.valueOf() が真となります。
<source lang="javascript">
console.log((new Date()).toString());
</source>
▲| Fri Jun 11 2021 07:14:40 GMT+0900 (日本標準時)
▲| Fri Jun 11 2021 07:15:10 GMT+0900 (日本標準時)
==== Date.prototype.toDateString() ====
toStringの変換のうち。年月日にあたる部分の文字列を返します。▼
<source lang="javascript">
▲toStringの変換のうち。年月日にあたる部分の文字列を返す。
console.log((new Date()).toDateString());
"Mon Jun 28 2021" の様な文字列が返ります。
</source>
==== Date.prototype.toTimeString() ====
toStringの変換のうち。分秒にあたる部分の文字列を返します。
{| class="wikitable"
|- align="left"
220 ⟶ 187行目:
==== Date.prototype.toLocaleString() ====
使用してい
実際にどの様な値が返るかは実装に依存しており、一定していない。
例えば主要なWebブラウザの場合、日本語環境では次の様な値が返
{| class="wikitable"
|- align="left"
245 ⟶ 212行目:
==== Date.prototype.toLocaleDateString() ====
toLocaleStringの変換のうち、年月日に相当する部分の文字列を返します。
{| class="wikitable"
268 ⟶ 235行目:
==== Date.prototype.toLocaleTimeString() ====
toLocaleStringの変換のうち。分秒にあたる部分の文字列を返します。
現在の主要なブラウザでは「13:39:03」の様な値が返るが、「13時39分3秒」の様な書式で値が返っても仕様上正しい。
==== Date.prototype.toUTCString() ====
結果の書式はtoStrinメソッドと同じものであ
{| class="wikitable"
|- align="left"
306 ⟶ 273行目:
==== Date.prototype.getTimezoneOffset() ====
現在の環境とUTC標準との時間差を分で返します。
日本の場合はロンドンからは9時間前倒しなので、9(時間)×60(分)で「-540(分)」が返
== 資料 ==
|