JS中的Date()使用小結(jié)
Date()日期對象
Date() 日期對象 是一個(gè)構(gòu)造函數(shù) 必須使用new 來調(diào)用創(chuàng)建我們的日期對象
// 1.使用Date 如果沒有參數(shù) 返回當(dāng)前系統(tǒng)的當(dāng)前時(shí)間
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è)構(gòu)造函數(shù),所以我們需要實(shí)例化后才能使用
- Date 實(shí)例用來處理日期和時(shí)間
Date()方法的使用
1.獲取當(dāng)前時(shí)間必須實(shí)例化
var now = new Date(); console.log(now);
2.Date()構(gòu)造函數(shù)的參數(shù)
如果括號里面有時(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)前小時(shí) | dObj.getHours() |
| getMinutes() | 獲取當(dāng)前分鐘 | dObj.getMinutes() |
| getSconds() | 獲取當(dāng)前秒鐘 | dObj.getSconds() |
// 我們寫一個(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 對象是基于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日過了多少毫秒數(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());
倒計(jì)時(shí)案例
// 核心算法:輸入的時(shí)間減去現(xiàn)在的時(shí)間就是剩余的時(shí)間,即倒計(jì)時(shí),但是不能看著時(shí)分秒相減
// 用時(shí)間戳來做,用戶輸入時(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 解決蘋果ios用js的Date()出現(xiàn)NaN的問題
- js Date()日期函數(shù)瀏覽器兼容問題解決方法
- JS IOS/iPhone的Safari瀏覽器不兼容Javascript中的Date()問題如何解決
- js中獲取時(shí)間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)鼠標(biāo)箭頭移動圖片跟著移動
這篇文章主要介紹了基于JavaScript實(shí)現(xiàn)鼠標(biāo)箭頭移動圖片跟著移動的核心代碼,代碼比較簡單易懂,需要的朋友可以參考下2016-08-08
Fundebug支持監(jiān)控微信小程序HTTP請求錯誤的方法
這篇文章主要介紹了Fundebug支持監(jiān)控微信小程序HTTP請求錯誤的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-02-02
npm script和package-lock.json使用示例詳解
這篇文章主要為大家介紹了npm script和package-lock.json使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
javascript中萬惡的function實(shí)例分析
javascript中萬惡的function實(shí)例分析,學(xué)習(xí)js的朋友可以參考下。2011-05-05
使用JavaScript判斷一個(gè)元素是否在可視范圍內(nèi)的幾種方法
在Web開發(fā)中,有時(shí)我們需要知道一個(gè)元素是否在用戶的可視范圍內(nèi),以便執(zhí)行相應(yīng)的操作,比如延遲加載圖片、實(shí)現(xiàn)懶加載、或是觸發(fā)動畫效果, 本文將詳細(xì)介紹使用 JavaScript 如何判斷一個(gè)元素是否在可視范圍內(nèi)的幾種方法,需要的朋友可以參考下2024-02-02
實(shí)例詳解ECMAScript5中新增的Array方法
這篇文章主要介紹了實(shí)例詳解ECMAScript5中新增的Array方法的相關(guān)資料,需要的朋友可以參考下2016-04-04

