JavaScript引用タイプ——「Dateタイプ」の注意点
4636 ワード
Dateタイプ
ECMAScriptのDateタイプは、UTC(Coordinated Universal Time、国際協調時間)から1970年1月1日午前0時からのミリ秒数で日付を保存します.Date型保存の日付は1970年1月1日以前またはその後の18616年まで正確にすることができます.
基本的な3つの方法
まず、「月/日/年」、例えば6/13/2004; 「英語月名日、年」Januar 12,2004; 「英文月名日時:分:秒タイムゾーン」、例えばTue May 25 2004:00 GMT-700. ISO 8601拡張フォーマットYYY-M-DDTHH:mm:ss.sss Zは、2004-05-25 T 00:00のようです.このフォーマットはECMAScript 5対応のみ可能です. 例えば、2004年5月25日に日付オブジェクトを作成するには、下記のコードが使えます.
Dateタイプは書き換えました.
Dateタイプには、日付を文字列に書式設定するための方法があります.これらの方法は以下の通りです. 例を挙げます
以下の方法は、日付値の特定部分を直接取得して設定する方法です.また、UTC日付とは、タイムゾーンのずれがない場合(日付をGMT時間に変換する)の日付値を意味する.
完全なデータはw 3 school-Dateオブジェクトの方法を見ます.
例を挙げてください.現在の時間を秒間隔で更新して表示します.
ECMAScriptのDateタイプは、UTC(Coordinated Universal Time、国際協調時間)から1970年1月1日午前0時からのミリ秒数で日付を保存します.Date型保存の日付は1970年1月1日以前またはその後の18616年まで正確にすることができます.
基本的な3つの方法
Date.parse()
・Date.UTC()
Date.now()
3つの方法.まず、
Date.parse()
方法は、日付を表す文字列パラメータを受信し、この文字列から該当日のミリ秒数を返してみます.通常は地域を米国のブラウザに設定し、以下の日付書式を適用します.var date = new Date(Date.parse("May 25 2004"));
console.log(date); //Tue May 25 2004 00:00:00 GMT+0800 (HKT)
省略Date.parse()
例えば:var date = new Date("May 25 2004");
console.log(date); //Tue May 25 2004 00:00:00 GMT+0800 (HKT)
var date = new Date("11/16/2015");
console.log(date); //Mon Nov 16 2015 00:00:00 GMT+0800 (HKT)
var date = new Date("November 16, 2015");
console.log(date); //Mon Nov 16 2015 00:00:00 GMT+0800 (HKT)
次に、Date.UTC()
方法も同様に日付を示すミリ秒数を返します.この方法のパラメータはそれぞれ年、0に基づく月、月のどの日、24時間制の時間数、分、秒、ミリ秒数です.月の日数が提供されていない場合、デフォルトは1です.他のパラメータを省略すると、デフォルトは0です.var date = new Date(Date.UTC(2015, 10, 16));
document.write(date); //Mon Nov 16 2015 08:00:00 GMT+0800 (CST)
略語することもできます.var date = new Date(2015, 10, 16, 10,10,10);
console.log(date);//Mon Nov 16 2015 10:10:10 GMT+0800 (CST)
最後に、Date.now()
方法は、この方法を呼び出した時の日付と時間を示すミリ秒数を返します.例えば:var date = new Date(Date.now());
console.log(date); //Mon Nov 16 2015 10:48:02 GMT+0800 (CST)
この方法でコードの作業を追跡できます.var start = new Date(Date.now());
for (var i = 0; i < 100; i++){
for (var j = 0; j < 100; j++){
document.write("result is: " + (i + j) + "
");
}
}
var stop = new Date(Date.now());
document.write("
");
document.write((stop - start) + "
" + start + "
" + stop);
継承の方法Dateタイプは書き換えました.
toLocaleString()
、toString()
とvalueOf()
方法.toLocaleString()
方法は、ブラウザが設定した地域に応じたフォーマットで日付と時間を返します.toString()
方法は、通常、タイムゾーン情報を伴う日付と時間を返す.(toLocaleString()
およびtoString()
ブラウザによって出力が異なる):var date = new Date(Date.now());
document.write(date.toLocaleString());
document.write(date.toString());
document.write(date.valueOf());
//2015 11 16 GMT+8 11:10:09
//Mon Nov 16 2015 11:10:09 GMT+0800 (CST)
//1447643409908
valueOf()
方法は、オペレータと比較して日付値を比較することができる.var start = new Date(Date.parse("May 24,2015"));
var stop = new Date(Date.parse("Nov 16,2015"));
document.write(stop.valueOf() > start.valueOf()); //true
日付の書式設定方法Dateタイプには、日付を文字列に書式設定するための方法があります.これらの方法は以下の通りです.
toDateString()
(月、日、年)toTimeString()
(時、分、秒、タイムゾーン)toLocaleDateString()
(月、日、年)toLocaleTimeString()
(時、分、秒)toUTCString()
(UTC日付)toGMTString()
(不推奨)var date = new Date(Date.now());
document.write(date.toDateString()); //Mon Nov 16 2015
document.write(date.toTimeString()); //11:32:25 GMT+0800 (CST)
document.write(date.toLocaleDateString()); //2015 11 16
document.write(date.toLocaleTimeString()); //GMT+8 11:33:16
document.write(date.toUTCString()); //Mon, 16 Nov 2015 03:33:37 GMT
document.write(date.toGMTString()); //Mon, 16 Nov 2015 03:33:52 GMT
日付と時間のコンポーネント方法以下の方法は、日付値の特定部分を直接取得して設定する方法です.また、UTC日付とは、タイムゾーンのずれがない場合(日付をGMT時間に変換する)の日付値を意味する.
完全なデータはw 3 school-Dateオブジェクトの方法を見ます.
例を挙げてください.現在の時間を秒間隔で更新して表示します.
var newP = document.createElement("p");
var newP_text = document.createTextNode("");
document.body.appendChild(newP);
newP.appendChild(newP_text);
setInterval(function(){
var time = new Date(Date.now());
var hours = time.getHours();
var minutes = time.getMinutes();
var seconds = time.getSeconds();
if (seconds < 10){
seconds = "0" + seconds;
}
if (hours < 10){
hours = "0" + hours;
}
if (minutes < 10){
minutes = "0" + minutes;
}
var current = " :" + hours + " " + minutes + " " + seconds + " ";
newP.firstChild.nodeValue = current;
}, 1000)
// :12 06 53