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類型的數(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)文章
attachEvent的使用方法與傳遞參數(shù)[IE|firefox]
attachEvent的使用方法與傳遞參數(shù)[IE|firefox]...2007-05-05
JavaScript工具庫(kù)Lodash的使用方法詳解
Lodash是一個(gè)可以提高開(kāi)發(fā)者效率、提高原生JS方法性能的JavaScript第三方實(shí)用工具庫(kù)這篇文章主要介紹了JavaScript工具庫(kù)Lodash使用方法的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-10-10
javascript數(shù)組的定義及操作實(shí)例
在文章里小編給大家整理的是關(guān)于javascript數(shù)組的定義及操作的相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。2019-11-11
JavaScript 動(dòng)態(tài)生成方法的例子
動(dòng)態(tài)生成方法的例子,這些方法在新對(duì)象實(shí)例化的時(shí)候創(chuàng)建2009-07-07
JavaScript圖片上傳并預(yù)覽的完整實(shí)例
上傳是個(gè)老生常談的話題了,多數(shù)情況下各位想必用的是uplodify,webUploader之類的插件,這篇文章主要給大家介紹了關(guān)于JavaScript圖片上傳并預(yù)覽的相關(guān)資料,需要的朋友可以參考下2022-01-01
JavaScript JSON數(shù)據(jù)處理全集(小結(jié))
這篇文章主要介紹了JavaScript JSON數(shù)據(jù)處理全集,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08

