date型別使用自utc(國際協調時間)2023年1月1日零時 開始經過的毫秒數來儲存日期。
有4種方法:
var d = new date();
var d = new date(milliseconds);
var d = new date(datestring);
var d = new date(year, month, day, hours, minutes, seconds, milliseconds);
//1.建構函式沒有引數,則返回當前日期的date物件
var d = new
date()
//2.建構函式的引數為日期的毫秒數,返回距離2023年1月1日經過該毫秒後對應的日期
var d = new
date(1541905200000)
//3.建構函式的引數為對應的日期字串,返回對應的日期物件,其中年,月,日是必須的,時分秒可選
var d = new
date('2018-11-11')
//4.建構函式的引數分別為年份,基於0的月份(0-11),月中的哪一天(1-31),小時數(0-23),分鐘(0-59),秒(0-59)以及毫秒(0-999)。
//在這些引數中,只有前兩個引數(年和月)是必需的。如果沒有提供月中的天數,則假設天數為1,如果省略其他引數,則統統假設為0
var d = new
date(2018, 10, 11);
根據特定日期和時間建立日期物件,必須傳入該日期的毫秒數,js提供原生兩個方法:date.parse() 和date.utc();
date.parse()該方法接收乙個表示日期的字串引數,能接受多種日期格式
date.utc()該方法的引數指定日期和時間,它們都是 utc 時間,處於 gmt 時區。指定的 utc 時間將轉換成毫秒的形式。date.utc(year,month,day,hours,minutes,seconds,ms)var d =
date
.parse("2018-11-11t11:00:00");
console.
log(d) //1541905200000
var d =
date
.utc(2018,10,11,11) //1541934000000 轉換時間戳 2018/11/11 19:0:0 【北京時區是東八區,領先utc八個小時】
var now =
newdate(d); // sun nov 11 2018 19:00:00 gmt+0800 (中國標準時間)
date.now()該方法返回當前日期和時間的毫秒數,ie9以下不支援,在不支援此方法的情況下,可以使用+操作符把date物件轉換成字串(例如 + new date());
對已知的日期物件date,獲取它的毫秒數,一般用date.gettime();
//這三種方法都是獲取當前日期和時間的毫秒數
var d = date.now();
var d = new
date.gettime();
var d = +new
date();
獲取當前時間可以用在監測**執行多長時間,如下:
//取得開始時間
var start = date.now();
//呼叫函式
dosomething();
//取得停止時間
var stop = date.now();
result = stop - start;
date物件的常用方法:
var
date
=new
date("sun nov 11 2018 11:10:55");
var year =
date
.getfullyear(); // 返回date物件的4位數年份,如「2018」
var month =
date
.getmonth(); // 返回date物件的月份(0-11)
var day =
date
.getdate(); //返回date物件的月份中的天數(1-31)
var week =
date
.getday(); //返回date物件中星期的星期幾(0-6)
var hours =
date
.gethours(); //返回date物件的小時(0-23)
var minutes =
date
.getminutes(); //返回date物件的分鐘(0-59)
var seconds =
date
.getseconds(); //返回date物件的秒數(0-59)
var time =
date
.gettime(); //返回date物件的毫秒數
var time2 =
date
.valueof(); //返回date物件的原始值,以毫秒表示。返回值和方法 date.gettime() 返回相等
//還有一些相對應的設定方法
/*setfullyear() 設定日期的年份。傳入的年份值必須是4位數字(如2018而非僅18)
setmonth() 設定日期的月份。傳入的月份值必須大於0,超過11則增加年份
setdate() 設定日期月份中的天數。如果傳入的值超過了該月中應有的天數,則增加月份
sethours() 設定日期中的小時數。傳入的值超過了23則增加月份中的天數
setminutes() 設定日期中的分鐘數。傳入的值超過59則增加小時數
setseconds() 設定日期中的秒數。傳入的值超過了59會增加分鐘數
settime() 以毫秒數設定日期,會改變整個日期*/
tostring()和tolocalestring()這兩個方法在不用的瀏覽器中返回的格式不統一,但是這個差別僅在除錯**時比較有用,在顯示日期和時間時明月什麼價值。 JavaScript 引用型別
在js中,數值 布林值 null和undefined屬於基本型別,而物件 陣列和函式屬於引用型別。該博文要解決的兩個問題是 author 獵空de date 2012 3 8 ext.onready function test data var obj var arr obj obj.age 23 ...
JavaScript引用型別 Date型別
要建立乙個日期物件,使用new操作符和date建構函式即可 var now new date 在呼叫date建構函式而不傳遞引數的情況下,新建立的物件自動獲得當前日期和時間。如果想根據特定的日期和時間建立日期物件,必須傳入表示該日期的毫秒數 即從utc時間1970年1月1日午夜起至該日期止經過的毫秒...
JavaScript引用型別 Date型別
要建立乙個日期物件,使用new操作符和date建構函式即可。如下所示 var date new date 在呼叫date函式建構函式而不傳遞引數的情況下,新建立的物件會自動獲取當前日期和時間。與其他引用型別一樣,date型別也重寫了tolocalestring tostring 和valueof 方...