摘要:普通函數的用法不管有無參數,返回當前時間字符串構造函數的用法日期的運算靜態方法實例方法類方法類方法類方法參考鏈接構造函數的用法作為構造函數時,對象可以接受多種格式的參數,返回一個該參數對應的時間實例。
Date 對象
Date對象是 JavaScript 原生的時間庫。它以國際標準時間(UTC)1970年1月1日00:00:00作為時間的零點,可以表示的時間范圍是前后各1億天(單位為毫秒)。
普通函數的用法Date(不管有無參數,返回當前時間字符串)
Date(2000, 1, 1)
// "Tue Dec 01 2015 09:34:43 GMT+0800 (CST)
構造函數的用法
日期的運算
靜態方法
Date.now()
Date.parse()
Date.UTC()
實例方法
Date.prototype.valueOf()
to 類方法
get 類方法
set 類方法
參考鏈接
1.構造函數的用法
作為構造函數時,Date對象可以接受多種格式的參數,返回一個該參數對應的時間實例。
var today = new Date();
Date實例有一個獨特的地方。其他對象求值的時候,都是默認調用.valueOf()方法,但是Date實例求值的時候,默認調用的是toString()方法。這導致對Date實例求值,返回的是一個字符串,代表該實例對應的時間。
1.1參數
(1)參數為時間零點開始計算的毫秒數(正負都可)
(2)(多個整數 至少兩個年,月,日,時,分,秒,毫秒)
月0-11 可正負的日期進退位 日期為0則為上個月最后一天
(3)只要是能被Date.parse()方法解析的字符串,都可以當作參數。
new Date("2013-2-15")
new Date("2013/2/15")
new Date("02/15/2013")
new Date("2013-FEB-15")
new Date("FEB, 15, 2013")
new Date("FEB 15, 2013")
new Date("February, 15, 2013")
new Date("February 15, 2013")
new Date("15 Feb 2013")
new Date("15, February, 2013")
// Fri Feb 15 2013 00:00:00 GMT+0800 (CST
2.日期的運算
減 毫秒
加 字符串
var d1 = new Date(2000, 2, 1);
var d2 = new Date(2000, 3, 1);
d2 - d1
// 2678400000
d2 + d1
// "Sat Apr 01 2000 00:00:00 GMT+0800 (CST)Wed Mar 01 2000 00:00:00 GMT+0800 (CST)
3.靜態方法(都返回毫秒)
3.1Date.now()毫秒
3.2Date.parse()
Date.parse方法用來解析日期字符串,返回該時間距離時間零點(1970年1月1日 00:00:00)的毫秒數。
rse("Aug 9, 1995")
Date.parse("January 26, 2011 13:51:50")
Date.parse("Mon, 25 Dec 1995 13:30:00 GMT")
Date.parse("Mon, 25 Dec 1995 13:30:00 +0430")
Date.parse("2011-10-10")
Date.parse("2011-10-10T14:48:00")
上面的日期字符串都可以解析。
如果解析失敗,返回NaN。
Date.parse("xxx") // NaN
3.3Date.UTC()
Date.UTC方法接受年、月、日等變量作為參數,返回該時間距離時間零點(1970年1月1日 00:00:00 UTC)的毫秒數。
// 格式
Date.UTC(year, month[, date[, hrs[, min[, sec[, ms]]]]])
// 用法
Date.UTC(2011, 0, 1, 2, 3, 4, 567)
// 1293847384567
Date.UTC方法的參數,會被解釋為 UTC 時間(世界標準時間),Date構造函數的參數會被解釋為當前時區的時間
4實例方法
除了valueOf和toString,可以分為以下三類。
to類:從Date對象返回一個字符串,表示指定的時間。
get類:獲取Date對象的日期和時間。
set類:設置Date對象的日期和時間。
4.1Date.prototype.valueOf()
var d = new Date();
d.valueOf() // 1362790014817
d.getTime() // 136270014817
4.2to 類方法(格式化日期)
4.2.1tostring
4.2.2Date.prototype.toUTCString()
toUTCString方法返回對應的 UTC 時間,也就是比北京時間晚8個小時。
4.2.3Date.prototype.toISOString()
toISOString方法返回對應時間的 ISO8601 寫法
var d = new Date(2013, 0, 1);
d.toISOString()
// "2012-12-31T16:00:00.000Z"
4.2.4toJSON方法返回一個符合 JSON 格式的 ISO 日期字符串,與toISOString方法的返回結果完全相同。
var d = new Date(2013, 0, 1);
d.toJSON()
// "2012-12-31T16:00:00.000Z"
(5)Date.prototype.toDateString()
toDateString方法返回日期字符串(不含小時、分和秒)。
var d = new Date(2013, 0, 1);
d.toDateString() // "Tue Jan 01 2013"
(6)Date.prototype.toTimeString()
toTimeString方法返回時間字符串(不含年月日)。
var d = new Date(2013, 0, 1);
d.toTimeString() // "00:00:00 GMT+0800
(7)本地時間
以下三種方法,可以將 Date 實例轉為表示本地時間的字符串。
Date.prototype.toLocaleString():完整的本地時間。
Date.prototype.toLocaleDateString():本地日期(不含小時、分和秒)。
Date.prototype.toLocaleTimeString():本地時間(不含年月日)。
這三個方法都有兩個可選的參數。
dateObj.toLocaleString([locales[, options]])
dateObj.toLocaleDateString([locales[, options]])
dateObj.toLocaleTimeString([locales[, options]])
var d = new Date(2013, 0, 1);
d.toLocaleString("en-US") // "1/1/2013, 12:00:00 AM"
d.toLocaleString("zh-CN") // "2013/1/1 上午12:00:00"
var d = new Date(2013, 0, 1);
// 時間格式
// 下面的設置是,星期和月份為完整文字,年份和日期為數字
d.toLocaleDateString("en-US", {
weekday: "long",
year: "numeric",
month: "long",
day: "numeric"
})
// "Tuesday, January 1, 2013"
// 指定時區
d.toLocaleTimeString("en-US", {
timeZone: "UTC",
timeZoneName: "short"
})
// "4:00:00 PM UTC"
4.3get 類方法
Date對象提供了一系列get*方法,用來獲取實例對象某個方面的值。
getTime():返回實例距離1970年1月1日00:00:00的毫秒數,等同于valueOf方法。
getDate():返回實例對象對應每個月的幾號(從1開始)。
getDay():返回星期幾,星期日為0,星期一為1,以此類推。
getFullYear():返回四位的年份。
getMonth():返回月份(0表示1月,11表示12月)。
getHours():返回小時(0-23)。
getMilliseconds():返回毫秒(0-999)。
getMinutes():返回分鐘(0-59)。
getSeconds():返回秒(0-59)。
getTimezoneOffset():返回當前時間與 UTC 的時區差異,以分鐘表示,返回結果考慮到了夏令時因素。
上面這些get*方法返回的都是當前時區的時間,Date對象還提供了這些方法對應的 UTC 版本,用來返回 UTC 時間。
getUTCDate()
getUTCFullYear()
getUTCMonth()
getUTCDay()
getUTCHours()
getUTCMinutes()
getUTCSeconds()
getUTCMilliseconds()
4.4set 類方法
Date對象提供了一系列set*方法,用來設置實例對象的各個方面。
setDate(date):設置實例對象對應的每個月的幾號(1-31),返回改變后毫秒時間戳。
setFullYear(year [, month, date]):設置四位年份。
setHours(hour [, min, sec, ms]):設置小時(0-23)。
setMilliseconds():設置毫秒(0-999)。
setMinutes(min [, sec, ms]):設置分鐘(0-59)。
setMonth(month [, date]):設置月份(0-11)。
setSeconds(sec [, ms]):設置秒(0-59)。
setTime(milliseconds):設置毫秒時間戳。
沒有setDay方法,因為星期幾是計算出來的,而不是設置
set類方法和get類方法,可以結合使用,得到相對時間。
var d = new Date();
// 將日期向后推1000天
d.setDate(d.getDate() + 1000);
// 將時間設為6小時后
d.setHours(d.getHours() + 6);
// 將年份設為去年
d.setFullYear(d.getFullYear() - 1);
set*系列方法除了setTime(),都有對應的 UTC 版本,即設置 UTC 時區的時間。
setUTCDate()
setUTCFullYear()
setUTCHours()
setUTCMilliseconds()
setUTCMinutes()
setUTCMonth()
setUTCSeconds()
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/105924.html
摘要:設置對象中月份。設置對象中的年份四位數字。中國標準時間把對象的日期部分轉換為字符串。例例中國標準時間返回年月日午夜到指定日期字符串的毫秒數。 # Date new Date(); //獲取當前時間:Tue Jul 31 2018 18:21:22 GMT+0800 (中國標準時間) Date.now(); ...
摘要:最初計算機操作系統是位,而時間也是用位表示,能表示的最長時間范圍為年,超出時間范圍會發生時間回歸的現象。方法通常由在后臺自動調用,并不顯式地出現在代碼中返回的毫秒表示。返回值和方法返回的值相等 屬性名 描述 prototype 為對象添加屬性、方法 constructor 返回對象的引用 方法名 返回值 Date() 當前日期和時間 getDate()...
摘要:中對象學習記錄實例用來處理日期和時間。的對象提供了數個時間的方法,也相應提供了當地時間的方法。而當地時間則是指執行的客戶端電腦所設置的時間。構造函數中國標準時間代表自年月日世界標準時間起經過的毫秒數。中國標準時間表示日期的字符串值。 JavaScript中Date對象學習記錄 Date 實例用來處理日期和時間。Date對象基于1970年1月1日(世界標準時間)起的毫秒數。 JavaSc...
摘要:返回對象的月份值。設置對象的秒數值。日期轉字符串中國標準時間下午返回客戶端當地時間格式中國標準時間下午其他方法返回的毫秒表示返回對象與之間的毫秒值北京時間的時區為東區,起點時間實際為時間實例可互相比較,實際比較的則是毫秒數 創建Date對象 Date 對象會自動把當前日期和時間保存為其初始值。 var myDate = new Date(); //返回當前時間字符串 // Sun J...
摘要:實際上,如果直接將表示日期的字符串傳遞給構造函數,也會在后臺調用方法,例如下面的代碼跟前面的是等價的。構造函數構造函數會模仿但有一點不同的是,日期和時間都是基于本地時區而非來創建。兼容性問題啊其原因就是非標準日期格式。 一:Date類型介紹 要創建一個日期對象,使用new操作符和Date構造函數即可: var now = new Date(); Date.parse()方法 其中Da...
摘要:本文時間與日期處理實戰你肯定被坑過從屬于筆者的前端入門與最佳實踐中入門與最佳實踐系列文章。然而由于地球的不規則自轉,導致時間有誤差,因此目前已不被當作標準時間使用。而在航空上,所有使用的時間劃一規定是協調世界時。 本部分的知識圖譜請參考編程語言知識圖譜-時間與日期。showImg(https://segmentfault.com/img/remote/1460000007581725...
閱讀 1240·2021-11-23 09:51
閱讀 685·2021-11-19 09:40
閱讀 1350·2021-10-11 10:58
閱讀 2358·2021-09-30 09:47
閱讀 3735·2021-09-22 15:55
閱讀 2168·2021-09-03 10:49
閱讀 1262·2021-09-03 10:33
閱讀 704·2019-08-29 17:12