JS中的Date()使用小結(jié)
Date()日期對(duì)象
Date() 日期對(duì)象 是一個(gè)構(gòu)造函數(shù) 必須使用new 來(lái)調(diào)用創(chuàng)建我們的日期對(duì)象
// 1.使用Date 如果沒(méi)有參數(shù) 返回當(dāng)前系統(tǒng)的當(dāng)前時(shí)間 var date = new Date(); console.log(date); // 2.參數(shù)常用的寫(xiě)法 數(shù)字型 2019, 10, 01 或者是 字符串型 '2019-10-1 08:08:08' var date1 = new Date(2019, 10, 1); console.log(date1); //返回的是 11月 不是 10月 var date2 = new Date('2019-10-1 8:8:8'); //最常用的 console.log(date);
- Date 對(duì)象和Math對(duì)象不一樣,他是一個(gè)構(gòu)造函數(shù),所以我們需要實(shí)例化后才能使用
- Date 實(shí)例用來(lái)處理日期和時(shí)間
Date()方法的使用
1.獲取當(dāng)前時(shí)間必須實(shí)例化
var now = new Date(); console.log(now);
2.Date()構(gòu)造函數(shù)的參數(shù)
如果括號(hào)里面有時(shí)間,就返回參數(shù)里面的時(shí)間,例如日期格式字符串為 ‘2019-5-1’,可以寫(xiě)成 new Date(‘2019-5-1’)或者 new Date(‘2019/5/1’)
日期格式化
我們想要 2019-9-8 8:8:8 格式的日期,該怎么辦?
需要獲取日期指定的部分,所以我們要手動(dòng)的得到這種方式。
方法名 | 說(shuō)明 | 代碼 |
---|---|---|
getFullYear() | 獲取當(dāng)年 | dObj.getFullYear() |
getMonth() | 獲取當(dāng)月(0-11) | dObj.getMonth() |
getDate() | 獲取當(dāng)天日期 | dObj.getDate() |
getDay() | 獲取星期幾(周日0 到周六 6) | dObj.getDay() |
getHours() | 獲取當(dāng)前小時(shí) | dObj.getHours() |
getMinutes() | 獲取當(dāng)前分鐘 | dObj.getMinutes() |
getSconds() | 獲取當(dāng)前秒鐘 | dObj.getSconds() |
// 我們寫(xiě)一個(gè) 2019年 5月 1日 星期三 var year = date.getFullYear(); var month = date.getMonth() + 1; var dates = dates.getDate(); var arr = ['星期日', '星期一', '星期二','星期三', '星期四', '星期五', '星期六']; var day = date.getDay(); console.log('今天是:' + year + '年' + month + '月' + dates + '日' + arr[day]);
日期格式化時(shí)分秒
// 封裝一個(gè)函數(shù)返回當(dāng)前的時(shí)分秒 格式 08:08:08 function getTime() { var times = new Date(); var h = time.getHours(); h = h < 10 ? '0' + h : h; var m = time.getMinutes(); m = m < 10 ? '0'+ m : m; var s = time.getSeconds(); s = s < 10 ? '0'+ s : s; return h + ':' + m + ':' + s; } console.log(getTime());
獲取日期的總的毫秒形式
Date 對(duì)象是基于1970年1月1日(世界標(biāo)準(zhǔn)時(shí)間)起得毫秒數(shù)
我們經(jīng)常利用總的毫秒數(shù)計(jì)算時(shí)間,因?yàn)樗_
// 獲得Date總的毫秒數(shù)(時(shí)間戳) 不是當(dāng)前時(shí)間的毫秒數(shù) 而是距離1970年1月1日過(guò)了多少毫秒數(shù) // 1.通過(guò) valueOf() getTime() var date = new Date; console.log(date.valueOf()); console.log(date.getTime()); // 2.簡(jiǎn)單的寫(xiě)法(最常用的寫(xiě)法) var date1 = +new Date(); // +new Date() 返回的就是總的毫秒數(shù) // 3.H5 新增的 獲得總的毫秒數(shù) console.log(Date.now());
倒計(jì)時(shí)案例
// 核心算法:輸入的時(shí)間減去現(xiàn)在的時(shí)間就是剩余的時(shí)間,即倒計(jì)時(shí),但是不能看著時(shí)分秒相減 // 用時(shí)間戳來(lái)做,用戶輸入時(shí)間總的毫秒數(shù)減去現(xiàn)在時(shí)間的總的毫秒數(shù),得到的就是剩余時(shí)間的毫秒數(shù) // 把剩余時(shí)間總的毫秒數(shù)轉(zhuǎn)換為天、時(shí)、分、秒(時(shí)間戳轉(zhuǎn)換為時(shí)分秒) // 轉(zhuǎn)換公式如下: /* d = parseInt(總秒數(shù)/60/60/24); // 計(jì)算天數(shù) h = parseInt(總秒數(shù)/60/60%24); // 計(jì)算小時(shí) m = parseInt(總秒數(shù)/60/%60); // 計(jì)算分?jǐn)?shù) s = parseInt(總秒數(shù)%60); // 計(jì)算當(dāng)前秒數(shù) */ function conutDown(time) { var nowTime = +new Date() // 返回的是當(dāng)前時(shí)間總的毫秒數(shù) var inputTime = + new Date(time); // 返回的是用戶輸入時(shí)間總的毫秒數(shù) var times = (inputTime - nowTime) / 1000; // time是剩余時(shí)間總的秒數(shù) var d = parseInt(times / 60 / 60 / 24); // 天 d = d < 10 ? 0 + d : d; var h = parseInt(times / 60 / 60 % 24); // 時(shí) h = h < 10 ? 0 + h : h; var m = parseInt(times / 60 % 60); // 分 m = m < 10 ? 0 + m : m; var s = parseInt(times % 60); // 當(dāng)前的秒 s = s < 10 ? 0 + s : s; return d + '天' + h + '時(shí)' + m + '分' + s + '秒'; } var date = new Date(); console.log(conutDown('2022-10-1 8:8:8'));
到此這篇關(guān)于JS的Date()的使用的文章就介紹到這了,更多相關(guān)JS的Date()的使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 解決蘋(píng)果ios用js的Date()出現(xiàn)NaN的問(wèn)題
- js Date()日期函數(shù)瀏覽器兼容問(wèn)題解決方法
- JS IOS/iPhone的Safari瀏覽器不兼容Javascript中的Date()問(wèn)題如何解決
- js中獲取時(shí)間new Date()的全面介紹
- javascript中日期函數(shù)new Date()的瀏覽器兼容性問(wèn)題
- js模仿php中strtotime()與date()函數(shù)實(shí)現(xiàn)方法
- 簡(jiǎn)介JavaScript中的setDate()方法的使用
- JavaScript中用getDate()方法返回指定日期的教程
- js用Date對(duì)象的setDate()函數(shù)對(duì)日期進(jìn)行加減操作
相關(guān)文章
Javascript 鍵盤(pán)事件的組合使用實(shí)現(xiàn)代碼
Javascript 鍵盤(pán)事件的組合使用實(shí)現(xiàn)代碼,需要的朋友可以參考下2012-05-05原生JavaScript實(shí)現(xiàn)合并多個(gè)數(shù)組示例
這篇文章主要介紹了原生的JavaScript及jquery實(shí)現(xiàn)合并多個(gè)數(shù)組,很簡(jiǎn)單,很實(shí)用,大家可以看看2014-09-09JavaScript學(xué)習(xí)筆記--常用的互動(dòng)方法
本文對(duì)JavaScript中常用的互動(dòng)方法進(jìn)行實(shí)例分析介紹,圖文并茂,有需要的朋友可以看下2016-12-12js判斷當(dāng)前頁(yè)面用什么瀏覽器打開(kāi)的方法
這篇文章主要介紹了js判斷當(dāng)前頁(yè)面用什么瀏覽器打開(kāi)的方法,需要的朋友可以參考下2016-01-01JavaScript動(dòng)態(tài)檢驗(yàn)密碼強(qiáng)度的實(shí)現(xiàn)方法
平時(shí)我們會(huì)在某些網(wǎng)站的注冊(cè)頁(yè)面或者更改密碼的頁(yè)面發(fā)現(xiàn)當(dāng)我們輸入密碼時(shí),會(huì)有一個(gè)類似于進(jìn)度條的長(zhǎng)條進(jìn)行提示用戶輸入的密碼強(qiáng)度。那么這種效果怎么實(shí)現(xiàn)的呢?下面小編給大家介紹下js動(dòng)態(tài)檢驗(yàn)密碼強(qiáng)度的實(shí)現(xiàn)方法,一起看看吧2016-11-11Electron中關(guān)于靜態(tài)資源加載問(wèn)題的解決方案
通常,我們?cè)谑褂胑lectron框架的時(shí)候會(huì)使用到loadFile/loadURL進(jìn)行頁(yè)面的加載,分別是加載本地文件和加載網(wǎng)絡(luò)文件,當(dāng)nuxtjs/nextjs想引入到electron中顯示時(shí),你會(huì)遇到資源路徑引用的問(wèn)題,所以本文給大家介紹了Electron中關(guān)于靜態(tài)資源加載問(wèn)題的解決方案2024-12-12