JavaScript Date対象詳細
9619 ワード
本編では主にDateの日付と時間の対象の操作を紹介します.具体的な内容は以下の通りです.
目次1.紹介:Dateオブジェクトを説明する.
2.構造関数:Dateオブジェクトの構造関数new Date()のいくつかの方法を紹介します.
3.例示的な方法:Dateオブジェクトのget、setなどの例示的な方法を紹介する.
4.静的方法:Dateオブジェクトの静的方法を紹介する:Date.now()、Date.parse()など.
5.実際の操作:Dateオブジェクトのいくつかの例を紹介します.カウントダウンの取得、2つのDateオブジェクトのサイズの比較など.
一.紹介1.1説明
Dateオブジェクトは、操作日と時間の対象です.Dateオブジェクトの日付と時間の操作は方法のみです.
1.2属性
なしDateオブジェクトの日付と時間の操作は方法のみです.
二.構造関数2.1 new Date():現在のローカル日付と時間を返します.
パラメータ:なし
戻り値:
{Date}ローカル日付と時間を表すDateオブジェクトを返します.
例:
パラメータ:
①miliseconds{int}:ミリ秒数;「1970/01/01 00:00:00」からスタートし、オーバーレイし始めるミリ秒数を表します.
注意:出発点の時は一秒ごとに現在のタイムゾーンを加えます.北京時間のタイムゾーンは東8区です.出発時間は実際には'1970/01/01 08:00'です.
戻り値:
{Date}は重畳された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オブジェクトを返します.
例:
パラメータ:
①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オブジェクトを返します.
例:
3.1 get方法
3.1.1 getFulYear():Dateオブジェクトの年値を返します.4桁の年
3.1.2 get Month():Dateオブジェクトの月値を返します.0から始まるので、真実の月=戻り値+1です.
3.1.3 get Date():Dateオブジェクトの月の日付値を返します.値の範囲は1~31です.
3.1.4 get Hours():Dateオブジェクトの時間値を返します.
3.1.5 get Minutes():Dateオブジェクトの分値を返します.
3.1.6 get Seconds():Dateオブジェクトの秒値を返します.
3.1.7 get Milliseconds():Dateオブジェクトのミリ秒値を返します.
3.1.8 getDay():Dateオブジェクトの一週間の値を返します.0は日曜日で、1は月曜日、2は火曜日です.これによって類推します.
3.1.9 getTime():Dateオブジェクトに戻ると'1970/01/01 00:00:00'の間のミリ秒値(北京時間のタイムゾーンは東8区で、スタート時間は実際に'1970/01/01 08:00'です.
例:
3.2.1 setFulYear(year、optmoonth、optudte):Dateオブジェクトの年値を設定する.4桁の年
3.2.2 set Month(month,optudte):Dateオブジェクトの月値を設定します.0は1月、11は12月を表します.
3.2.3 set Date(date):Dateオブジェクトの月の日付値を設定する.値の範囲は1~31です.
3.2.4 set Hours(hour,optumin,optusec,optumsec):Dateオブジェクトの時間値を設定します.
3.2.5 set Minutes(min、オプトセット、オプトセット):Dateオブジェクトの分値を設定します.
3.2.6 setSeconds(sec,optmsec):Dateオブジェクトの秒値を設定します.
3.2.7 set Milliconds(msec):Dateオブジェクトのミリ秒値を設定します.
例:
3.3.1 toString():Dateを「年月日時分秒」文字列に変換する
3.3.2 toLocareStering():Dateを「年月日時分秒」のローカルフォーマット文字列に変換する
3.3.3 toDateString():Dateを「年月日」文字列に変換する
3.3.4 toLocareDateString():Dateを「年月日」のローカルフォーマット文字列に変換する
3.3.5 toTimeString():Dateを'時分秒'文字列に変換する
3.3.6 toLocareTimeString():Dateを「時分秒」に変換するローカルフォーマット文字列
3.3.7 valueOf():getTime()と同様に、Dateオブジェクトと'1970/01/01 00:00'の間のミリ秒値を返します(北京時間のタイムゾーンは東8区で、スタートタイムは実際に:'1970/01/01 08:00')
例:
説明:現在の日付と時間のDateオブジェクトと'1970/01/01 00:00:00'の間のミリ秒値を返します.
パラメータ:なし
戻り値:
{int}:現在時間と開始時間のミリ秒数.
例:
説明:文字列をDateオブジェクトに変換し、このDateオブジェクトと'1970/01/01 00: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オブジェクトと開始時間のミリ秒数を返します.
例:
説明:C〓〓のDateTimeタイプはJsonを通じてプログレッシブになってフロントに戻るフォーマットは「\/Date(141949264000)/」です.中間の数字は、DateTimeの値と開始時間との間のミリ秒数を表します.
例:
バックグラウンドコード:シンプルなasx
現在の時間と目的の時間の差を計算します.
例:
説明:2つの開始時間のミリ秒数を比較して、サイズを区別することができます.
例:
目次1.紹介:Dateオブジェクトを説明する.
2.構造関数:Dateオブジェクトの構造関数new Date()のいくつかの方法を紹介します.
3.例示的な方法:Dateオブジェクトのget、setなどの例示的な方法を紹介する.
4.静的方法:Dateオブジェクトの静的方法を紹介する:Date.now()、Date.parse()など.
5.実際の操作:Dateオブジェクトのいくつかの例を紹介します.カウントダウンの取得、2つのDateオブジェクトのサイズの比較など.
一.紹介1.1説明
Dateオブジェクトは、操作日と時間の対象です.Dateオブジェクトの日付と時間の操作は方法のみです.
1.2属性
なしDateオブジェクトの日付と時間の操作は方法のみです.
二.構造関数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,optuuuday,opthouss,opt_minutes,opt uuseconds,opttt骢liseconds):年月日、時分秒を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
三.例示的な方法Dateオブジェクトの例示的な方法は、主に2つの形態に分けられる.ローカル時間とUTC時間.同じ方法で、一般的にこの2つのタイムフォーマットがあります.ここでは主にローカル時間の操作を紹介します. 3.1 get方法
3.1.1 getFulYear():Dateオブジェクトの年値を返します.4桁の年
3.1.2 get Month():Dateオブジェクトの月値を返します.0から始まるので、真実の月=戻り値+1です.
3.1.3 get Date():Dateオブジェクトの月の日付値を返します.値の範囲は1~31です.
3.1.4 get Hours():Dateオブジェクトの時間値を返します.
3.1.5 get Minutes():Dateオブジェクトの分値を返します.
3.1.6 get Seconds():Dateオブジェクトの秒値を返します.
3.1.7 get Milliseconds():Dateオブジェクトのミリ秒値を返します.
3.1.8 getDay():Dateオブジェクトの一週間の値を返します.0は日曜日で、1は月曜日、2は火曜日です.これによって類推します.
3.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')
3.2セット方法3.2.1 setFulYear(year、optmoonth、optudte):Dateオブジェクトの年値を設定する.4桁の年
3.2.2 set Month(month,optudte):Dateオブジェクトの月値を設定します.0は1月、11は12月を表します.
3.2.3 set Date(date):Dateオブジェクトの月の日付値を設定する.値の範囲は1~31です.
3.2.4 set Hours(hour,optumin,optusec,optumsec):Dateオブジェクトの時間値を設定します.
3.2.5 set Minutes(min、オプトセット、オプトセット):Dateオブジェクトの分値を設定します.
3.2.6 setSeconds(sec,optmsec):Dateオブジェクトの秒値を設定します.
3.2.7 set Milliconds(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
3.3その他の方法3.3.1 toString():Dateを「年月日時分秒」文字列に変換する
3.3.2 toLocareStering():Dateを「年月日時分秒」のローカルフォーマット文字列に変換する
3.3.3 toDateString():Dateを「年月日」文字列に変換する
3.3.4 toLocareDateString():Dateを「年月日」のローカルフォーマット文字列に変換する
3.3.5 toTimeString():Dateを'時分秒'文字列に変換する
3.3.6 toLocareTimeString():Dateを「時分秒」に変換するローカルフォーマット文字列
3.3.7 valueOf():getTime()と同様に、Dateオブジェクトと'1970/01/01 00:00'の間のミリ秒値を返します(北京時間のタイムゾーンは東8区で、スタートタイムは実際に:'1970/01/01 08: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')
四.静的方法4.1 Date.now()説明:現在の日付と時間のDateオブジェクトと'1970/01/01 00:00:00'の間のミリ秒値を返します.
パラメータ:なし
戻り値:
{int}:現在時間と開始時間のミリ秒数.
例:
console.log(Date.now()); // => 1419431519276
4.2 Date.parse(dateStr)説明:文字列をDateオブジェクトに変換し、このDateオブジェクトと'1970/01/01 00: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!)
五. 実際の操作は5.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
5.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
5.3 2つのDateオブジェクトのサイズを比較する説明:2つの開始時間のミリ秒数を比較して、サイズを区別することができます.
例:
var dt1 = new Date('2015/12/01');
var dt2 = new Date('2015/12/25');
console.log(dt1 > dt2); // => false
以上が本文の全部です.皆さんの勉強に役に立ちたいです.