javascript Date對象

來源:互聯網
上載者:User

標籤:

原文:javascript Date對象

 使用了JavaScript這麼久了,還沒有好好整理過,現在開始整理一下知識,鞏固一下。

   先從Date對象開始。

   Date對象用於處理時間,既然是一個對象,我們就可以使用new這個關鍵詞來得到這個對象,然後就可以使用Date對象本身所提供的方法。得到Date對象可以使用如下的方法

    1,var objDate=new Date();//Date 對象自動使用當前的日期和時間作為其初始值。

    2,  var objDate=new Date(dateVal); //將給定的毫秒數轉換為使用的時間

    3,  var objDate=new Date((yearmonthdate[hours[minutes[seconds[,ms]]]]));//指定具體的日期

    較常用的是第一種方式和第三種方式。

    下面來看一下上面所使用到的參數     

       dateVal

             必選項。如果是數字值,dateVal 表示指定日期與 1970 年 1 月 1 日午夜間全球標準時間 的毫秒數。如果是字串,則 dateVal 按照 parse 方法中的規則進行解                   析。dateVal 參數也可以是從某些 ActiveX(R) 對象返回的 VT_DATE 值。

        year

             必選項。完整的年份,比如,1976(而不是 76)。

        month

             必選項。表示的月份,是從 0 到 11 之間的整數( 1 月至 12 月)。

        date

             必選項。表示日期,是從 1 到 31 之間的整數。

        hours

              可選項。 如果提供了 minutes 則必須給出。表示小時,是從 0 到 23 的整數(午夜到 11pm)。

       minutes

              可選項。 如果提供了 seconds 則必須給出。表示分鐘,是從 0 到 59 的整數。

       seconds

              可選項。 如果提供了 milliseconds 則必須給出。表示秒鐘,是從 0 到 59 的整數。

        ms

               可選項。 表示毫秒,是從 0 到 999 的整數。

 

  已經獲得了時間的對象,我們就可以使用這個對象,例如

var date=new Date();document.write(date);

上面代碼得到是原生時間,時間的現實為 Mon Mar 09 2015 15:43:04 GMT+0800 (中國標準時間),很明顯這樣的顯示格式不是我們想要的,所以我們就要用到Date這個對象的方法,來制定自己的時間顯示格式。

然而Date這個對象提供了很多的方法,常用的得到時間方法也就getYear(),getFullYear(),getMonth(),getDate(),getDay(),getHours(),getMinutes(),getSeconds(),getTime()這麼幾個,下面簡單介紹下這幾個方法

getYear() 返回Date對象中本地的年份,這個方法已經過時,之所以提供這個方法,是為了保持向後的相容性。請改用 getFullYear 方法。對於1900-1999這段時間而言,返回                的年份值是一個兩位元字的整數,它代表了所儲存的年份與 1900 年之間的差距。而對於其它的年份,傳回值是一個四位的整數。例如,1996 年的傳回值是 96,而                  1825和 2025 年的傳回值則相應地為 1825 和 2025。

             注意 對於 JScript 1.0 版,getYear 返回的值始終為 Date 對象中的年份與 1900 年之間的差距。例如,1899 年的傳回值是 -1, 而 2000 年的傳回值是 100。 

var date = new Date();document.write(date.getYear());

顯示的結果是115,而不是我們所期待的2015

getFullYear()  要擷取用全球標準時間 (UTC)表示的年份值,請使用 getUTCFullYear 方法。getFullYear 方法以絕對數位形式返回年份值。例如,1976 年的傳回值就是                      1976。這樣可以避免出現 2000 年問題,從而不會將 2000 年1月1日以後的日期與 1900 年1月1日以後的日期混淆起來。

var date = new Date();document.write(date.getFullYear());

顯示的結果就是我們所期待的2015

 

getMonth() 得到本地時間表中的月份值,getMonth方法返回一個處於 0 到 11 之間的整數,它代表 Date 對象中的月份值。這個整數並不等於按照慣例來表示月份的數字,而                  是要比按慣例表示的值小 1。如果一個 Date 對象中儲存的時間值是 "Jan 5, 2015 08:47:00",那麼 getMonth()方法就會返回 0。

            var date = new Date();            document.write(date.getMonth() + "</br>");            document.write(date.getUTCMonth() + "</br>");            var setDate = new Date("Jan 5, 2015 08:47:00");            document.write(setDate.getMonth() + "</br>");

上面的例子的顯示的結果是2  2  0,所以要顯示正確的月份要相應的加 1

getDate()  擷取目前時間月份中的幾號,傳回值是一個處於 1 到 31 之間的整數,它代表了相應的 Date 對象中的日期值。

var date = new Date();document.write(date.getDate()+ "</br>");

啟動並執行結果是 9

 

getDay() 表示目前時間日期中的周幾,getDay方法所返回的值是一個處於 0 到 6 之間的整數,它代表了一周中的某一天

getDay()傳回值 對應的星期值
0 星期天
1 星期一
2 星期二
3 星期三
4 星期四
5 星期五
6 星期六

getHours() 方法返回一個處於 0 到 23 之間的整數,這個值表示從午夜開始計算的小時數。在下面兩種情況下此方法的傳回值是 0:時間在 1:00:00 am 之前,或者在建立                        Date 對象的時候沒有將時間儲存在該對象中。而要確定究竟是哪種情況,唯一的方法就是進一步檢查分鐘和秒鐘值是否也是 0。如果這兩個值都是 0,那就幾乎可以                  確定是沒有將時間值儲存到 Date 對象中。

getMinutes() 方法返回一個處於 0 到 59 之間的整數,傳回值就等於儲存在 Date 對象中的分鐘值。在下面兩種情況下傳回值為 0:在時鐘整點之後經過的時間少於一分鐘,或者                    是在建立 Date 對象的時候沒有將時間值儲存到該對象中。而要確定究竟是哪種情況,唯一的方法是同時檢查小時和秒鐘值是否也是 0。如果這兩個值都是 0,那就                    幾乎可以確定是沒有將時間值儲存到該 Date 對象中。

getSeconds()  方法返回一個處於 0 到 59 之間的整數,它表示了相應的 Date 對象中的秒鐘值。在下面兩種情況下,傳回值為 0。第一種情況是在當前的一分鐘中所經過的時間                      少於一秒。另外一種情況是在建立 Date 對象時沒有將時間值儲存到該對象中。而為了確定究竟屬於哪種情況,唯一的方法是同時檢查小時和分鐘值是否也都是                          0。如果這兩個值都是 0,那就幾乎可以確定是沒有將時間值儲存到 Date 對象中。

getTime()    方法返回一個整數值,這個整數代表了從 1970 年 1 月 1 日開始計算到 Date 對象中的時間之間的毫秒數。日期的範圍大約是 1970 年 1 月 1 日午夜的前後各                        285,616 年。負數代表 1970 年之前的日期。

 

至於設定時間,我們可以使用 Date 對象提供的各種set方法,但是最簡單的則是在 new 對象的時候我們就可以初始化時間,例如:

           var date = new Date("2016");            document.write(date.getFullYear()+ "</br>");            var setDate = new Date();            setDate.setFullYear(2016);            document.write(setDate.getFullYear() + "</br>");

得到的結果都是相同的,都是2016,只是寫入的資料不同,new Date()填寫的是字串setFullYear()則是相應的整數。

 

下面給個結合數組顯示當前日期的時鐘

 function showNowDate()        {            var date = new Date();            var year = date.getFullYear();            var month = date.getMonth();            var day = date.getDate();            var isMonth = new Array("1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月");            var isDay = new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");            document.write("今天日期是:"+year+"年"+isMonth[month]+day+"日"+" "+isDay[date.getDay()]);        }

顯示當前具體時間的時鐘

function showTimeMethod(){var date = new Date();var hour = date.getHours();var minuts = date.getMinutes();var seconds = date.getSeconds();document.getElementById("showTime").value = hour + ":" + minuts + ":" + seconds;setTimeout("showTimeMethod()",100);}

javascript Date對象

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.