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