javascript引用類型之Date類型

Date類型使用自UTC(國際協調時間)1970年1月1日午夜(0時)開始通過的毫秒數來保存日期。要建立一個日期對象,使用new操做符和Date構造函數便可:javascript

var now = new Date();

在調用Date構造函數而不傳遞參數的狀況下,新建立的對象自動得到當前日期和時間。若是想根據特定的日期和時間建立時期對象,必須傳入表示該日期的毫秒數。爲了簡化這一計算過程,javascript提供了兩個方法:Date.parse()和Date.UTC()。java

其中,Date.parse()方法接收一個表示日期的字符串參數,而後嘗試根據這個字符串返回相應日期的毫秒數。ECMA-262沒有定義Date.parse()應該支持哪一種日期格式,所以這個方法的行爲因實現而異,並且一般是因地區而異。將地區設置爲美國的瀏覽器一般都接受下列日期格式:瀏覽器

  • "月/日/年",如 6/13/2004函數

  • "英文月名 日,年",如January 12,2004spa

  • "英文星期幾 英文月名 日 年 時:分:秒 時區",如Tue May 25 2004 00:00:00 GMT-0700code

例如,要爲2004年5月25日建立一個日期對象,可使用下面的代碼:對象

var someDate = new Date(Date.parse("May 25,2004"));

若是傳入Date.parse()方法的字符串不能表示日期,那麼它會返回NaN。實際上,若是直接將表示日期的字符串傳遞給Date構造函數,也會在後臺調用Date.parse()。換句話說,下面的代碼與前面的例子是等價的:ip

var someDate = new Date("May 25,2004");

Date.UTC()方法一樣也返回表示日期的毫秒數,介它與Date.parse()在構建值時使用不一樣的信息。Date.UTC()的參數分別是年份,基於0的月份(一月是0,二月是1,以此類推),月中的哪一天(1~31),小時數(0~23),分鐘,秒以及毫秒數。在這些參數中,只有前兩個參數(年和月)是必需的。若是沒有提供月中的天數,則假設天數爲1。若是省略其餘參數,則通通假設爲0:文檔

//GMT時間2000年1月1日午夜零時
var y2k = new Date(Date.UTC(2000,0));
//GMT時間2005年5月5日下午5:55:55
var allFives = new Date(Date.UTC(2005,4,5,17,55,55));

如同模仿Date.parse()同樣,Date構造函數也會模仿Date.UTC(),但有一點明顯不一樣:日期和時間都基於本地時區而非GMT來建立。不過,Date構造函數接收的參數仍然與Date.UTC()相同。所以,若是第一個參數是數值,Date構造函數就會假設該值是日期中的年份,而第二個參數是月份,以此類推:字符串

//本地時間2000年1月1日午夜0時
var y2k = new Date(2000,0);
//本地時間2005年5月5日下午5:55:55
var allFives = new Date(2005,4,5,17,55,55);

日期格式化方法,日期/時間組件方法等,這裏就不寫了,看書看文檔!!!!!

相關文章
相關標籤/搜索