javascript 玩轉(zhuǎn)Date對(duì)象(實(shí)例講解)
前言:最近在做一個(gè)日期選擇功能,在日期轉(zhuǎn)換的時(shí)候經(jīng)常換到暈,總結(jié)一下常用的Date對(duì)象的相關(guān)用法,方便日后直接查看使用~
1. new Date()的使用方法有:
不接收任何參數(shù):返回當(dāng)前時(shí)間;
接收一個(gè)參數(shù)x: 返回1970年1月1日 + x毫秒的值。
new Date(1, 1, 1)返回1901年2月1號(hào)。
new Date(2016, 1, 1)不會(huì)在1900年的基礎(chǔ)上加2016,而只是表示2016年2月1號(hào)。
2. 使用new Date(time) 將時(shí)間轉(zhuǎn)換成 Date 對(duì)象
注意:time格式需要為 1999/12/31 23:59 (不能為1999-12-30 23:43),否則在一些機(jī)型下可能會(huì)報(bào)錯(cuò)。
3. date對(duì)象一些常用的api
new Date()轉(zhuǎn)換之后的數(shù)據(jù),可以直接使用下面的api new Date(x).getMonth()+1 //獲取月份 new Date(x).getDate //獲取日期 new Date(x).getHours() //獲取小時(shí) new Date(x).getMinutes() //獲取分鐘 new Date(x).toLocaleDateString()); // 轉(zhuǎn)換為本地日期格式,視環(huán)境而定,輸出:2017年07月04日 new Date(x).toLocaleString()); // 轉(zhuǎn)換為本地日期和時(shí)間格式,視環(huán)境而定,輸出:2017年07月04日 上午10:03:05
4. javascript 沒有原生提供但卻經(jīng)常需求使用的功能
根據(jù)日期獲取當(dāng)前星期幾
//參數(shù) 日期 getWeek(day) { const weekArr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']; return weekArr[day]; } getWeek(new Date(x).getDay())
獲取某個(gè)時(shí)間+1個(gè)小時(shí),直接對(duì)小時(shí)數(shù)進(jìn)行加1可能會(huì)溢出,因此先轉(zhuǎn)換成 Date 對(duì)象,再使用setHours 改變小時(shí)。
new Date(x).setHours(new Date(x).getHours()+1,new Date(x).getMinutes());
為了統(tǒng)一格式,返回日期是10以下,需在前面補(bǔ)0.
function getFull(n) { return (n > 9 ? '' : '0') + n; } var x = getFull(3); //03 var y = getFull(11); //11
經(jīng)常要對(duì)日期進(jìn)行轉(zhuǎn)換,因此增加一個(gè)轉(zhuǎn)換格式的函數(shù)
Date.prototype.Format = function (fmt) { //author: meizz var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours(), //小時(shí) "m+": this.getMinutes(), //分 "s+": this.getSeconds(), //秒 "q+": Math.floor((this.getMonth() + 3) / 3), //季度 "S": this.getMilliseconds() //毫秒 }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); return fmt; } // 調(diào)用: var time1 = new Date().Format("yyyy-MM-dd"); var time2 = new Date().Format("yyyy-MM-dd hh:mm:ss");
以上這篇javascript 玩轉(zhuǎn)Date對(duì)象(實(shí)例講解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
一個(gè)簡單的彈性返回頂部JS代碼實(shí)現(xiàn)介紹
頁面滾動(dòng)條處于低端,點(diǎn)擊回到頂部,并且隱藏掉,具體實(shí)現(xiàn)代碼如下,感興趣的朋友可以參考下哈2013-06-06js實(shí)現(xiàn)5秒倒計(jì)時(shí)重新發(fā)送短信功能
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)5秒倒計(jì)時(shí)重新發(fā)送短信功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02微信小程序?qū)崿F(xiàn)定位及到指定位置導(dǎo)航的示例代碼
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)定位及到指定位置導(dǎo)航的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08js將json格式內(nèi)容轉(zhuǎn)換成對(duì)象的方法
這篇文章介紹了js將json格式內(nèi)容轉(zhuǎn)換成對(duì)象的方法,有需要的朋友可以參考一下2013-11-11js鼠標(biāo)點(diǎn)擊圖片實(shí)現(xiàn)隨機(jī)變換圖片的方法
這篇文章主要介紹了js鼠標(biāo)點(diǎn)擊圖片實(shí)現(xiàn)隨機(jī)變換圖片的方法,涉及鼠標(biāo)事件與隨機(jī)函數(shù)的使用技巧,需要的朋友可以參考下2015-02-02