JavaScript Date日付と時間の対象について話します.

9772 ワード

Date日付と時間オブジェクト
1.紹介
Dateオブジェクトは、操作日と時間の対象です.Dateオブジェクトの日付と時間の操作は方法のみです.
2.コンストラクタ
2.1 new Date():現在のローカル日付と時間パラメータを返します.なし
戻り値:
{Date}ローカル日付と時間を表すDateオブジェクトを返します.
例:
 
  
var dt = new Date();
console.log(dt); // => Date
2.2 new Date(miliseconds):ミリ秒数をDateオブジェクトパラメータに変換する:
①miliseconds{int}:ミリ秒数;「1970/01/01 00:00:00」からスタートし、オーバーレイし始めるミリ秒数を表します.
注意:出発点の時は一秒ごとに現在のタイムゾーンを加えます.北京時間のタイムゾーンは東8区です.出発時間は実際には'1970/01/01 08:00'です.
戻り値:
{Date}は重畳されたDateオブジェクトを返します.
例:
 
  
var dt = new Date(1000 * 60 * 1); // 1
console.log(dt); // => {Date}:1970/01/01 08:01:00
dt = new Date(-1000 * 60 * 1); // 1
console.log(dt); // => {Date}:1970/01/01 07:59:00
2.3 new Date(dateStr):文字列をDateオブジェクトパラメータに変換する:
①dateStr{string}:Dateオブジェクトの文字列に変換できます(時間は省けます).文字列の書式は主に2つあります.
1)yyyy/MM/dd HH:mm:ss(推奨):時間を省くと、戻るDateの対象の時間は00:00:00です.
2)yyyy-M-dd HH:mm:ss:時間を省くと、戻るDateオブジェクトの時間は08:00(ローカルタイムゾーンを加える)です.時間を省略しないと、この文字列はIEで変換に失敗します.
戻り値:
{Date}変換後のDateオブジェクトを返します.
例:
 
  
var dt = new Date('2014/12/25'); // yyyy/MM/dd
console.log(dt); // => {Date}:2014/12/25 00:00:00
dt = new Date('2014/12/25 12:00:00'); // yyyy/MM/dd HH:mm:ss
console.log(dt); // => {Date}:2014/12/25 12:00:00
dt = new Date('2014-12-25'); // yyyy-MM-dd
console.log(dt); // => {Date}:2014-12-25 08:00:00 ( 8 )
dt = new Date('2014-12-25 12:00:00'); // yyyy-MM-dd HH:mm:ss ( : IE !)
console.log(dt); // => {Date}:2014-12-25 12:00:00
2.4 new Date(year,month,optuuuuuuuhors,opt_minutes,opt uuseconds,opttumilliseconds):年月日、時分秒をDateの対象パラメータに変換する:
①year{int}:年;4桁の数字です.1999、2014
②monoth{int}:月;2桁の数字です.0から計算します.0は1月、11は12月を表します.
③opt_day{int}オプション:号;2桁の数字1から計算します.1は1番を表します.
④opt_houss{int}オプション:時;2桁の数字0~23を取る
⑤opt_minutes{int}オプション:分;2桁の数字0~59を取る
⑥opt_seconds{int}オプション:秒;2数字なし;0~59を取る
⑦opt_miliseconds{int}オプション:ミリ秒;0~999を取る
戻り値:
{Date}変換後のDateオブジェクトを返します.
例:
 
  
var dt = new Date(2014, 11); // 2014 12 ( 11)
console.log(dt); // => {Date}:2014/12/01 00:00:00
dt = new Date(2014, 11, 25); // 2014 12 25
console.log(dt); // => {Date}:2014/12/25 00:00:00
dt = new Date(2014, 11, 25, 15, 30, 40); // 2014 12 25 15 30 40
console.log(dt); // => {Date}:2014/12/25 15:30:40
dt = new Date(2014, 12, 25); // 2014 13 25 ( 12, 13 , 1 )
console.log(dt); // => {Date}:2015/01/25
3.属性
なしDateオブジェクトの日付と時間の操作は方法のみです.
4.例示的な方法
Dateオブジェクトの例示的な方法は主に2つの形態に分けられている.ローカル時間とUTC時間.同じ方法で、一般的にこの2つのタイムフォーマットがあります.ここでは主にローカル時間の操作を紹介します.
4.1 get方法4.1.1 getFulYear():Dateオブジェクトの年値を返します.4桁の年
4.1.2 get Month():Dateオブジェクトの月値を返します.0から始まるので、真実の月=戻り値+1です.
4.1.3 get Date():Dateオブジェクトの月の日付値を返します.値の範囲は1~31です.
4.1.4 get Hours():Dateオブジェクトの時間値を返します.
4.1.5 get Minutes():Dateオブジェクトの分値を返します.
4.1.6 get Seconds():Dateオブジェクトの秒値を返します.
4.1.7 get Milliseconds():Dateオブジェクトのミリ秒値を返します.
4.1.8 getDay():Dateオブジェクトの一週間の値を返します.0は日曜日で、1は月曜日、2は火曜日です.これによって類推します.
4.1.9 getTime():Dateオブジェクトに戻ると'1970/01/01 00:00:00'の間のミリ秒値(北京時間のタイムゾーンは東8区で、スタート時間は実際に'1970/01/01 08:00'です.
例:
 
  
dt.getFullYear(); // => 2014:
dt.getMonth(); // => 11: ; 12 ( 0 )
dt.getDate(); // => 25:
dt.getHours(); // => 15:
dt.getMinutes(); // => 30:
dt.getSeconds(); // => 40:
dt.getMilliseconds(); // => 333:
dt.getDay(); // => 4:
dt.getTime(); // => 1419492640333 : Date '1970/01/01 00:00:00' ( 8 , :'1970/01/01 08:00:00')
4.2 set方法4.2.1 setFulYear(year、optmoonth、optudte):Dateオブジェクトの年値を設定する.4桁の年
4.2.2 set Month(month,optudte):Dateオブジェクトの月値を設定します.0は1月、11は12月を表します.
4.2.3 set Date(date):Date対象の月の日付値を設定する;値の範囲は1~31です.
4.2.4 set Hours(hour,optumin,opt uusec,optumsec):Dateオブジェクトの時間値を設定します.
4.2.5 set Minutes(min,オプトセット):Dateオブジェクトの分値を設定します.
4.2.6 setSeconds(sec,optmsec):Dateオブジェクトの秒値を設定します.
4.2.7 set Milliseconds(msec):Dateオブジェクトのミリ秒値を設定します.
例:
 
  
var dt = new Date();
dt.setFullYear(2014); // => 2014:
dt.setMonth(11); // => 11: ; 12 ( 0 )
dt.setDate(25); // => 25:
dt.setHours(15); // => 15:
dt.setMinutes(30); // => 30:
dt.setSeconds(40); // => 40:
dt.setMilliseconds(333); // => 333:
console.log(dt); // =>  2014 12 25 15 30 40 333
4.3その他の方法4.3.1 toStering():Dateを「年月日時分秒」文字列に変換する.
4.3.2 toLocareStering():Dateを「年月日時分秒」のローカルフォーマット文字列に変換する
4.3.3 toDateString():Dateを「年月日」文字列に変換する
4.3.4 toLocareDateString():Dateを「年月日」のローカルフォーマット文字列に変換する
4.3.5 toTimeString():Dateを「時分秒」文字列に変換する
4.3.6 toLocareTimeString():Dateを「時分秒」に変換するローカルフォーマット文字列
4.3.7 valueOf():getTime()と同様に、Dateオブジェクトと'1970/01/01 00:00'の間のミリ秒値を返します.
例:
 
  
var dt = new Date();
console.log(dt.toString()); // => Tue Dec 23 2014 22:56:11 GMT+0800 ( ) : Date ' '
console.log(dt.toLocaleString()); // => 2014 12 23 10:56:11  : Date ' '
console.log(dt.toDateString()); // => Tue Dec 23 2014 : Date ' '
console.log(dt.toLocaleDateString()); // => 2014 12 23 : Date ' '
console.log(dt.toTimeString()); // => 22:56:11 GMT+0800 ( ) : Date ' '
console.log(dt.toLocaleTimeString()); // => 10:56:11 : Date ' '
console.log(dt.valueOf()); // => Date '1970/01/01 00:00:00' ( 8 , :'1970/01/01 08:00:00')
5.静的方法
5.1 Date.now()の説明:現在の日付と時間を返すDateオブジェクトと'1970/01/01 00:00'の間のミリ秒値(北京時間のタイムゾーンは東8区、スタート時間は実際に:'1970/01/01 08:00')
パラメータ:なし
戻り値:
{int}:現在時間と開始時間のミリ秒数.
例:
 
  
console.log(Date.now()); // => 1419431519276
5.2 Date.parse(dateStr)は、文字列をDateオブジェクトに変換し、このDateオブジェクトと'1970/01/00:00'の間のミリ秒値(北京時間のタイムゾーンは東8区で、スタートタイムは実際には'1970/01/01 08:00')に戻ります.
パラメータ:
①dateStr{string}:Dateオブジェクトの文字列に変換できます(時間は省けます).文字列の書式は主に2つあります.
1)yyyy/MM/dd HH:mm:ss(推奨):時間を省くと、戻るDateの対象の時間は00:00:00です.
2)yyyy-M-dd HH:mm:ss:時間を省くと、戻るDateオブジェクトの時間は08:00(ローカルタイムゾーンを加える)です.時間を省略しないと、この文字列はIEにNaN(非数字)を返します.
戻り値:
{int}変換後のDateオブジェクトと開始時間のミリ秒数を返します.
例:
 
  
console.log(Date.parse('2014/12/25 12:00:00')); // => 1419480000000
console.log(Date.parse('2014-12-25 12:00:00')); // => 1419480000000  ( : IE NaN!)
6.実際の操作
6.1 C蒝のDateTimeタイプがJsのDateオブジェクトに変換された説明:C胫のDateTimeタイプがJsonプログレッシブでフロントに戻るフォーマットは「\/Date(141949264000)/」です.中間の数字は、DateTimeの値と開始時間との間のミリ秒数を表します.
例:
バックグラウンドコード:シンプルなasx
 
  
public void ProcessRequest (HttpContext context) {
    System.Web.Script.Serialization.JavaScriptSerializer js = new System.Web.Script.Serialization.JavaScriptSerializer();
    DateTime dt = DateTime.Parse("2014-12-25 15:30:40");
    string rs = js.Serialize(dt); // Json
    context.Response.ContentType = "text/plain";
    context.Response.Write(rs);
}
フロントコード:
 
  
var dateTimeJsonStr = '\/Date(1419492640000)\/'; // C# DateTime Json
var msecStr = dateTimeJsonStr.toString().replace(/\/Date\(([-]?\d+)\)\//gi, "$1"); // => '1419492640000' : ,
var msesInt = Number.parseInt(msecStr); //
var dt = new Date(msesInt); // Date
console.log(dt.toLocaleString()); // => 2014 12 25 3:30:40
6.2  カウントダウンの説明を取得します.現在の時間と目的の時間の差を計算します.
例:
 
  
/**
*
* @param dt {Date}: Date
* @return {Strin} : :X X X
*/
function getDownTime(dt) {
    // 1.
    var intervalMsec = dt - Date.now(); // ,
    var intervalSec = intervalMsec / 1000; //
    var day = parseInt(intervalSec / 3600 / 24); //
    var hour = parseInt((intervalSec - day * 24 * 3600) / 3600); //
    var min = parseInt((intervalSec - day * 24 * 3600 - hour * 3600) / 60); //
 
    // 2. 0 , , :-X - - , , 。
    if (intervalMsec < 0) {
        hour = 0 - hour;
        min = 0 - min;
    }
 
    // 3.
    var rs = day + ' ' + hour + ' ' + min + ' ';
    return rs;
}
 
// :2014/12/28 13:26
console.log(getDownTime(new Date('2015/06/01'))); // => 154 10 33
console.log(getDownTime(new Date('2014/01/01'))); // => -361 13 26
6.3 2つのDateオブジェクトのサイズ説明を比較する:2つの開始時間とミリ秒数を比較して、サイズを区別することができる.
例:
 
  
var dt1 = new Date('2015/12/01');
var dt2 = new Date('2015/12/25');
console.log(dt1 > dt2); // => false