2011年8月16日 星期二

Javascript 常用 物件 - Date

這個物件應該蠻常用到的,如果是撰寫網頁程式的話往往會用到日期這個功能,因此Javascript跟大多數的程式一樣都有提供有關日期存取的物件,也就是本篇的主角 Date

基本上關於Date的相關網頁很多,例如w3schools就對常用的功能有解說,還有動手玩玩看給你用。基本上這邊也只是把一些相關的中文化。

文內的程式碼搭配w3school 的 Try if yourself 使用會得到現學現用的好效果XD


Date 物件本身就包涵了今天的年、月、日、時、分、秒。不過傳回的月份是從0開始 ,所以必須把月份+1,如同一般的宣告物件去宣告就好。

var today = new Date();

其實直接使用document.write(today);就可以得到以下資訊。

Tue Aug 16 2011 08:06:26 GMT+0800

如果沒有提供參數的話則是直接回傳目前的本機時間,而有提供參數,則可以限制取得的內容,例如:

new Date(milliseconds) //01 January, 1970 00:00:00 + miliseconds
new Date(dateString) //日期以 Date.parse() 形式來辨認
new Date(year,month,day[,hour,min,sec,millisec]) //利用設定的時間來建立物件

建構式(constructor)講完了,接下來是可用函數一覽表。

首先是Get系列的函式

方法 描述
getDate() 傳回日期物件的天數 (from 1-31)
getDay() 傳回日期物件的日期 (from 0-6. 0=Sunday, 1=Monday, etc.)
getMonth() 傳回日期物件的月份 (from 0-11. 0=January, 1=February, etc.)
getFullYear() 傳回日期物件的年份(四位數字)
getYear() 傳回日期物件的年份 (from 0-99). 以 getFullYear 替代!!
getHours() 傳回日期物件的小時  (from 0-23)
getMinutes() 傳回日期物件的分鐘 (from 0-59)
getSeconds() 傳回日期物件的秒數  (from 0-59)
getMilliseconds() 傳回日期物件的千分之秒  (from 0-999)
getTime() 傳回千分之秒的數字  1/1-1970 的半夜起
getTimezoneOffset() 在使用者與格林威治時間裏傳回時間的差距
getUTCDate() 以全球標準時間(UTC) ,傳回日期物件的日期
getUTCDay() 以全球標準時間傳回日期物件的日期
getUTCMonth() 以全球標準時間傳回日期物件的月份
getUTCFullYear() 以全球標準時間傳回日期物件的四位數字年份
getUTCHours() 以全球標準時間傳回日期物件的小時
getUTCMinutes() 以全球標準時間傳回日期物件的分鐘
getUTCSeconds() 以全球標準時間傳回日期物件的秒數
getUTCMilliseconds() 以全球標準時間傳回日期物件的千分之秒
parse() 傳回字串日期傳,這個數字是以  January 01 1970 00:00:00 開始

這邊是有關Set系列的函式

方法 描述
setDate() 設定日期物件的月份日期  (from 1-31)
setFullYear() 設定日期物件的年份 (4位數)
setHours() 設定日期物件的小時 (from 0-23)
setMilliseconds() 設定日期物件的千分之秒數  (from 0-999)
setMinutes() 設定日期物件的分鐘數  (from 0-59)
setMonth() 設定日期物件的月份  (from 0-11. 0=January, 1=February)
setSeconds() 設定日期物件的秒數  (from 0-59)
setTime() 設定在 1/1-1970 後的千分之秒數
setYear() 設定在日期物件的年份  (00-99)
setUTCDate() 在全球標準時間設定日期物件的日期  (from 1-31)
setUTCMonth() 在全球標準時間設定日期物件的月份  (0-11. 0=January, 1=February)
setUTCFullYear() 在全球標準時間設定日期物件的年份  (四位數)
setUTCHours() 在全球標準時間設定日期物件的小時  (from 0-23)
setUTCMinutes() 在全球標準時間設定日期物件的分鐘數  (from 0-59)
setUTCSeconds() 在全球標準時間設定日期物件的秒數  (from 0-59)
setUTCMilliseconds() 在全球標準時間設定日期物件的千分之秒數  (from 0-999)

把日期物件轉換成字串並且設定時區

方法 描述
toGMTString() 轉換日期物件為字串,設成格林威治時區
toLocaleString() 轉換日期物件為字串,設成當地的時區
toString() 轉換日期物件成字串


重要 此文章主要參考 JavaScript 日期物件 :D

0 意見:

張貼留言