ECMAScript把日期儲存離UTC時間1970年1月1日0點的毫秒數
取得日期和時間
Date Object - 取得日期和時間
名稱 | 說明 |
getDate() | 傳回日期值1~31 |
getDay() | 傳回星期值0~6,也就是星期日到星期六 |
getMonth() | 傳回月份值0~11,也就是一到十二月 |
getFullYear() | 傳回完整的年份,例如:2012 |
getYear() | 傳回年份,如果在1900~1999年間,傳回後兩碼,例如,1998年傳回98,否則傳回完整的年份 |
getHours() | 傳回小時0~23 |
getMinutes() | 傳回分鐘0~59 |
getSeconds() | 傳回秒數0~59 |
getMilliseconds() | 傳回千分之一秒為單位的秒數,0~999 |
getTime() | 傳回自1/1/1970年開始的秒數,以千分之一秒為單位 |
設定日期和時間
這些設定的方法並不會修改電腦的時間和日期,只是設定Data物件記錄的時間和日期。
Date Object - 設定日期和時間
名稱 | 說明 |
setDate() | 設定Date物件的日期1~31 |
setMonth() | 設定Date物件的月份0~11 |
setFullYear() | 設定Date物件的完整年份 |
setYear() | 設定Date物件的年份,在1900~1999間只需使用後兩位,否則需要使用完整的年份 |
setHours() | 設定Date物件的小時0~23 |
setMinutes() | 設定Date物件的分鐘0~59 |
setSeconds() | 設定Date物件的秒數0~59 |
setMilliseconds() | 設定Date物件的秒數,以千分之一秒為單位,0~999 |
setTime() | 設定Date物件的時間,自1/1/1970年開始,以千分之一秒為單位 |
除了getDay()沒有對應的setDay()之外,每一個getXXX()就有一個SetXXX(),通常使用getXXX()的機會大些,所以記getXXX()就好了。
日期和時間的轉換
Date Object - 日期和時間的轉換
名稱 | 說明 |
getTimezoneOffset() | 傳回本地時間和GMT的時間差,以分為單位 |
toGMTString() | 傳回轉換成GMT時間的字串 |
toLocalString() | 傳回將GMT轉換成本地時間的字串 |
parse(Date) | 傳回參數Date物件從1/1/1970到本地時間的毫秒數,以千分之一秒為單位 |
UTC(Date) | 傳回參數Date物件從1/1/1970到GMT時間的毫秒數,以千分之一秒為單位 |
MVP璉大分享,記錄一下:
回覆刪除我在念 JavaScript 的時候,上面就寫 date 物件是 全球標準時(UTC) ,所以我處理 JSON 自己寫的時候,都沒這問題:
Date 物件
啟動日期和時間的基本儲存與擷取機制。
dateObj = new Date()
dateObj = new Date(dateVal)
引數
dateObj
必要項。Date物件指定至該變數名稱。
dateVal
必要項。如果是一個數值,則 dateVal 代表介於指定日期與 1970 年1月1日午夜12 點之間的毫秒數 (根據全球標準時間)。如果是一個字串,則會根據 parse 方法中的規則來剖析 dateVal。dateVal 引數也可以是從一些 ActiveX® 物件傳回的 VT_DATE 值。
所以我一開始就在 javascript date 日期上加入自訂屬性,當成 .Net date 用~
// 仿 .Net 轉本地時間
Date.prototype.ToLocalTime = function () {
this.setMinutes(this.getMinutes() - this.getTimezoneOffset())
return (this);
}
// 仿 .Net 轉 UTC 時間
Date.prototype.ToUniversalTime = function () {
this.setMinutes(this.getMinutes() + this.getTimezoneOffset())
return (this);
}