JavaScript Date對(duì)象詳解及時(shí)間戳和時(shí)間的相互轉(zhuǎn)換問(wèn)題
一、Date對(duì)象詳解
1.Date對(duì)象
Date 對(duì)象用于處理日期與時(shí)間。
2.創(chuàng)建Date對(duì)象
let date = new Date();
3.Date對(duì)象屬性
| 屬性 | 描述 |
| constuctor | 返回對(duì)創(chuàng)建此對(duì)象的Date函數(shù)的引用 |
| prototype | 使您有能力向?qū)ο筇砑訉傩院头椒?/td> |
4.Date對(duì)象方法

這個(gè)是我今天的日期
(1)getDate() 返回一個(gè)月中的某一天(1-31)
let date = new Date();
console.log(date.getDate());![]()
(2)getDay() 返回一周中的某一天(0-6)
let date = new Date();
console.log(date.getDay());![]()
(3)getFullYear() 返回年份
let date = new Date();
console.log(date.getFullYear());![]()
(4)getHours() 返回Date對(duì)象的小時(shí)(0-23)
let date = new Date();
console.log(date.getHours());![]()
(5)getMillseconds() 返回Date對(duì)象的毫秒數(shù)(0-999)
let date = new Date();
console.log(date.getMilliseconds());

(6)getMinutes() 返回Date對(duì)象的月份(0-11)因?yàn)樵路莘祷?-11,因此一般獲取月份都要 + 1
let date = new Date();
console.log(date.getMonth());
(7)getSeconds() 返回Date對(duì)象的秒數(shù)(0-59)
let date = new Date();
console.log(date.getSeconds());![]()
(8)getTime() 返回1970年1月一日至今的毫秒數(shù),即時(shí)間戳
let date = new Date();
console.log(date.getTime());![]()
這些就是我們經(jīng)常使用的Date對(duì)象的方法,其他方法可參考菜鳥(niǎo)教程
JavaScript Date 對(duì)象 | 菜鳥(niǎo)教程
JavaScript Date 對(duì)象 Date 對(duì)象 Date 對(duì)象用于處理日期與時(shí)間。 創(chuàng)建 Date 對(duì)象: new Date() 以下四種方法同樣可以創(chuàng)建 Date 對(duì)象: var d = new Date(); var d = new Date(milliseconds); // 參數(shù)為毫秒 var d = new Date(dateString); var d = new Date(year, month, day, h..
https://www.runoob.com/jsref/jsref-obj-date.html
5.Date對(duì)象的應(yīng)用(節(jié)流函數(shù)時(shí)間戳寫(xiě)法)
Date.now() 相當(dāng)于 date.getTIme() 獲取時(shí)間戳
function throttled(fn, delay) {
let oldTime = Date.now();
return function (...args) {
let newTIme = Date.now();
if (newTIme - oldTime >= delay) {
fn.apply(this, args);
oldTime = Date.now();
}
};
}二、時(shí)間戳和時(shí)間的相互轉(zhuǎn)換
1.時(shí)間轉(zhuǎn)換為時(shí)間戳
// Date.parse()不推薦這種寫(xiě)法,毫秒級(jí)別的數(shù)值直接被轉(zhuǎn)化為000
let date1 = Date.parse(new Date());
// valueOf()函數(shù)返回指定對(duì)象的原始值獲得準(zhǔn)確的時(shí)間數(shù)值
let date2 = new Date().valueOf();
// getTime()通過(guò)原型方法直接獲得當(dāng)前時(shí)間的毫秒數(shù)
let date3 = new Date().getTime();
// Number() 將時(shí)間轉(zhuǎn)化為一個(gè)number類(lèi)型的數(shù)值
let date4 = Number(new Date());
console.log(date1);
console.log(date2);
console.log(date3);
console.log(date4);打印結(jié)果如下

2.時(shí)間戳轉(zhuǎn)換為時(shí)間
(1)自己手寫(xiě)轉(zhuǎn)換函數(shù)利用 Date對(duì)象的方法
// 時(shí)間戳轉(zhuǎn)換成時(shí)間格式
var formatDate = function (date) {
// 如果傳入的時(shí)間戳為10位需*1000,時(shí)間戳為13位的話不需乘1000
date = new Date(date);
var y = date.getFullYear();
var m = date.getMonth() + 1;
var d = date.getDate();
var h = date.getHours();
var m1 = date.getMinutes();
var s = date.getSeconds();
// 過(guò)濾格式
m = m < 10 ? '0' + m : m;
d = d < 10 ? '0' + d : d;
h = h < 10 ? '0' + h : h;
m1 = m1 < 10 ? '0' + m1 : m1;
s = s < 10 ? '0' + s : s;
// 拼接時(shí)間格式
return y + '-' + m + '-' + d + ' ' + h + ':' + m1 + ':' + s;
};
console.log(formatDate(1685671570448));另一種寫(xiě)法,可以根據(jù) now.toTimeString().substr(0, 8) 獲取后面的時(shí)分秒格式,更加簡(jiǎn)便
// 時(shí)間戳轉(zhuǎn)換成時(shí)間格式
var formatDate = function (date) {
// 如果傳入的時(shí)間戳為10位需*1000,時(shí)間戳為13位的話不需乘1000
date = new Date(date);
var y = date.getFullYear();
var m = date.getMonth() + 1;
var d = date.getDate();
// 過(guò)濾格式
m = m < 10 ? '0' + m : m;
d = d < 10 ? '0' + d : d;
return y + '-' + m + '-' + d + ' ' + date.toTimeString().substr(0, 8);
};
console.log(formatDate(1685671570448));輸出結(jié)果如下

(2)可以使用replace方法進(jìn)行轉(zhuǎn)置
function getLocalTime(nS) {
// parseInt可解析一個(gè)字符串,并返回一個(gè)整數(shù)
// toLocalString()方法可根據(jù)本地時(shí)間把date對(duì)象轉(zhuǎn)換為字符串,并返回結(jié)果
// replace利用正則進(jìn)行匹配替換
return new Date(parseInt(nS)).toLocaleString().replace(/:\d{1,2}$/, ' ');
}
console.log(getLocalTime(1685671570448));輸出結(jié)果如下

到此這篇關(guān)于JavaScript Date對(duì)象詳解及時(shí)間戳和時(shí)間的相互轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)JavaScript Date對(duì)象內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 通過(guò)實(shí)例解析javascript Date對(duì)象屬性及方法
- JS使用Date對(duì)象實(shí)時(shí)顯示當(dāng)前系統(tǒng)時(shí)間簡(jiǎn)單示例
- JavaScript 中Date對(duì)象的格式化代碼方法匯總
- JS中使用new Date(str)創(chuàng)建時(shí)間對(duì)象不兼容firefox和ie的解決方法(兩種)
- javascript中Date對(duì)象的使用總結(jié)
- Javascript之Date對(duì)象詳解
- JavaScript Date對(duì)象詳解
- 詳解JavaScript的Date對(duì)象(制作簡(jiǎn)易鐘表)
- js用Date對(duì)象的setDate()函數(shù)對(duì)日期進(jìn)行加減操作
相關(guān)文章
javascript事件函數(shù)中獲得事件源的兩種不錯(cuò)方法
許多情況我們需要獲得事件源對(duì)象來(lái)對(duì)其屬性進(jìn)行更改,在事件響應(yīng)函數(shù)中獲得事件源的方法有如下兩種2014-03-03
Javascript 一些需要注意的細(xì)節(jié)(必看篇)
下面小編就為大家?guī)?lái)一篇Javascript 一些需要注意的細(xì)節(jié)(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07
JS簡(jiǎn)單實(shí)現(xiàn)文件上傳實(shí)例代碼(無(wú)需插件)
注意一下:在chrome瀏覽器下,為了數(shù)據(jù)安全,隱藏的input:file不能trigger “click” 事件。 所以要設(shè)置input:file的透明度達(dá)到隱藏的效果2013-11-11
JavaScript實(shí)現(xiàn)簡(jiǎn)單的星星評(píng)分效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡(jiǎn)單的星星評(píng)分效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
JS監(jiān)聽(tīng)滾動(dòng)和id自動(dòng)定位滾動(dòng)
這篇文章主要為大家詳細(xì)介紹了JS監(jiān)聽(tīng)滾動(dòng)和id自動(dòng)定位滾動(dòng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12
layui 對(duì)彈窗 form表單賦值的實(shí)現(xiàn)方法
今天小編就為大家分享一篇layui 對(duì)彈窗 form表單賦值的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09
JavaScript變量聲明var,let.const及區(qū)別淺析
這篇文章主要介紹了JavaScript變量聲明var,let.const及區(qū)別淺析,需要的朋友可以參考下2018-04-04
HTML+CSS+JavaScript創(chuàng)建一個(gè)簡(jiǎn)單的井字游戲
使用javascript創(chuàng)建游戲是最有趣的學(xué)習(xí)方式。它會(huì)讓你保持動(dòng)力,這對(duì)于學(xué)習(xí)?Web?開(kāi)發(fā)等復(fù)雜技能至關(guān)重要。本文將使用HTML、CSS和?Javascript創(chuàng)建一個(gè)井字游戲。感興趣的童鞋可以關(guān)注一下2021-11-11

