Date類型常用概念及方法總結(1)


 
Date類型使用UTC(國際協調時間)1970年1月1日零時開始經過的毫秒數來保存時間。

(1)創建當前日期

          調用Date不傳遞參數的情況下,創建的新對象自動獲得當前日期和時間(本地時區)。
         
  var now=new Date();

(2)創建特定的日期和時間

          如果要創建特定的日期對象,必須傳入表示該日期的毫秒數(即從UTC時間1970年1月1日至該日期的毫秒數)。為簡化這一過程,ECMAScript提供了兩個方法:Date.parse()和Date.UTC();
          
var time1=new Date(Date.parse("May 25,2004"));
var time2=new Date(Date.UTC(2004,4,25));

time1和time2分別采用Date.parse()和Date.UTC()構建特定日期對象,它們有如下區別:

  • time1為本地時區的2004年5月25日00:00,而time2為GMT時間(見注釋)的2004年5月25日00:00(北京時間比GMT時間快8個小時,故time2為北京時間2004年5月24日 16:00);
alert(time1.getTime()==time2.getTime());//false
alert(time1.getTime()==time2.getTime()-8*60*60*1000);//true
  • 傳入Date.parse()方法的為字符串,而傳入Date.UTC()方法的為表示日期或時間的數值參數;(具體格式見書p99);
  • Date.UTC()方法中的月份為基於0的月份(即一月是0,二月是1,一次類推);

實際上,直接將特定日期傳入Date構造函數,也會在后台調用Date.parse()或Date.UTC(),也就是說以下代碼與前面的例子是等價的:

var time1=new Date("May 25,2004");
var time2=new Date(2004,4,25);

需要注意的是,此時日期和時間都是基於本地時區而不是GMT時間,即time1和time2同樣表示本地時間的2004年5月25日00:00;

alert(time1.getTime()==time2.getTime());//true

 

注釋格林尼治標准時間(GMT,舊譯“格林威治平均時間”或“格林威治標准時間”)是指位於倫敦郊區的皇家格林尼治天文台的標准時間,因為本初子午線被定義在通過那里的經線。北京時間比GMT時間快8個小時。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM