JS標準対象:Date

1915 ワード

一、Dateオブジェクト
JavaScriptでは、Dateオブジェクトは日付と時間を表します.
システムの現在の時間を取得するには、次のようにします.
var now = new Date();
now; // Wed Jun 24 2015 19:49:22 GMT+0800 (CST)
now.getFullYear(); // 2015,   
now.getMonth(); // 5,   ,       0~11,5    
now.getDate(); // 24,   24 
now.getDay(); // 3,      
now.getHours(); // 19, 24   
now.getMinutes(); // 49,   
now.getSeconds(); // 22,  
now.getMilliseconds(); // 875,    
now.getTime(); // 1435146562875,  number        
【注意】現在の時間はブラウザが自機のオペレーティングシステムから取得した時間ですので、必ずしも正確ではありません.
日付と時刻を指定するデートオブジェクトを作成する場合、
方式1
var d = new Date(2015, 5, 19, 20, 15, 30, 123);
d; // Fri Jun 19 2015 20:15:30 GMT+0800 (CST)
【注意】:JavaScriptの月の範囲は整数で0~11、0は一月、1は二月、6月を表します.私達が入ってきたのは5です.
作成方法2:日付と時間を指定する方法は、ISO 8601形式に該当する文字列を解析することです.
var d = Date.parse('2015-06-24T19:49:22.875+08:00');
d; // 1435146562875
しかし、Dateオブジェクトではなくタイムスタンプを返します.
タイムスタンプがあれば簡単にDateに変換できます.
var d = new Date(1435146562875);
d; // Wed Jun 24 2015 19:49:22 GMT+0800 (CST)
タイムゾーン
Dateオブジェクトの表示時間はいつもブラウザのあるタイムゾーンで表示されますが、ローカル時間を表示することもできます.
var d = new Date(1435146562875);
d.toLocaleString(); // '2015/6/24   7:49:22',    (    +8:00),                  
d.toUTCString(); // 'Wed, 24 Jun 2015 11:49:22 GMT',UTC  ,       8  
JavaScriptでは、タイムゾーンの切り替えはどうやって行いますか?
実際には、numberタイプのタイムスタンプを渡す限り、タイムゾーンの切り替えには関心がありません.どのブラウザでもタイムスタンプをローカル時間に正しく変換できます.
タイムスタンプは何ですか?
タイムスタンプは1970年1月1日午前0時からのGMTタイムゾーンの開始時刻を表しています.今までのミリ秒数です.ブラウザがあるコンピュータの時間が正確であると仮定すれば、世界のどのタイムゾーンのコンピュータでも、現在発生しているタイムスタンプの数字は同じです.だから、タイムスタンプは正確に時刻を表し、タイムスタンプとは関係ないです.
だから、タイムスタンプを送るか、あるいはタイムスタンプをデータベースから読んで、JavaScriptを現地時間に自動的に変換すればいいです.
●現在のタイムスタンプを取得するには、次のように使えます.
if (Date.now) {
    alert(Date.now()); //    IE  now()  
} else {
    alert(new Date().getTime());
}