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