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

