JavaScript引用型別 Date型別

2021-08-21 08:52:27 字數 3213 閱讀 3934

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 方...