JavaScript Date對象詳解及時(shí)間戳和時(shí)間的相互轉(zhuǎn)換問題
一、Date對象詳解
1.Date對象
Date 對象用于處理日期與時(shí)間。
2.創(chuàng)建Date對象
let date = new Date();
3.Date對象屬性
屬性 | 描述 |
constuctor | 返回對創(chuàng)建此對象的Date函數(shù)的引用 |
prototype | 使您有能力向?qū)ο筇砑訉傩院头椒?/td> |
4.Date對象方法
這個(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對象的小時(shí)(0-23)
let date = new Date(); console.log(date.getHours());
(5)getMillseconds() 返回Date對象的毫秒數(shù)(0-999)
let date = new Date(); console.log(date.getMilliseconds());
(6)getMinutes() 返回Date對象的月份(0-11)因?yàn)樵路莘祷?-11,因此一般獲取月份都要 + 1
let date = new Date(); console.log(date.getMonth());
(7)getSeconds() 返回Date對象的秒數(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對象的方法,其他方法可參考菜鳥教程
JavaScript Date 對象 | 菜鳥教程
JavaScript Date 對象 Date 對象 Date 對象用于處理日期與時(shí)間。 創(chuàng)建 Date 對象: new Date() 以下四種方法同樣可以創(chuàng)建 Date 對象: 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對象的應(yīng)用(節(jié)流函數(shù)時(shí)間戳寫法)
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()不推薦這種寫法,毫秒級別的數(shù)值直接被轉(zhuǎn)化為000 let date1 = Date.parse(new Date()); // valueOf()函數(shù)返回指定對象的原始值獲得準(zhǔn)確的時(shí)間數(shù)值 let date2 = new Date().valueOf(); // getTime()通過原型方法直接獲得當(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)自己手寫轉(zhuǎn)換函數(shù)利用 Date對象的方法
// 時(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(); // 過濾格式 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));
另一種寫法,可以根據(jù) now.toTimeString().substr(0, 8) 獲取后面的時(shí)分秒格式,更加簡便
// 時(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(); // 過濾格式 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對象轉(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對象詳解及時(shí)間戳和時(shí)間的相互轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)JavaScript Date對象內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 通過實(shí)例解析javascript Date對象屬性及方法
- JS使用Date對象實(shí)時(shí)顯示當(dāng)前系統(tǒng)時(shí)間簡單示例
- JavaScript 中Date對象的格式化代碼方法匯總
- JS中使用new Date(str)創(chuàng)建時(shí)間對象不兼容firefox和ie的解決方法(兩種)
- javascript中Date對象的使用總結(jié)
- Javascript之Date對象詳解
- JavaScript Date對象詳解
- 詳解JavaScript的Date對象(制作簡易鐘表)
- js用Date對象的setDate()函數(shù)對日期進(jìn)行加減操作
相關(guān)文章
javascript事件函數(shù)中獲得事件源的兩種不錯(cuò)方法
許多情況我們需要獲得事件源對象來對其屬性進(jìn)行更改,在事件響應(yīng)函數(shù)中獲得事件源的方法有如下兩種2014-03-03Javascript 一些需要注意的細(xì)節(jié)(必看篇)
下面小編就為大家?guī)硪黄狫avascript 一些需要注意的細(xì)節(jié)(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07JS簡單實(shí)現(xiàn)文件上傳實(shí)例代碼(無需插件)
注意一下:在chrome瀏覽器下,為了數(shù)據(jù)安全,隱藏的input:file不能trigger “click” 事件。 所以要設(shè)置input:file的透明度達(dá)到隱藏的效果2013-11-11JavaScript實(shí)現(xiàn)簡單的星星評分效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡單的星星評分效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05JS監(jiān)聽滾動(dòng)和id自動(dòng)定位滾動(dòng)
這篇文章主要為大家詳細(xì)介紹了JS監(jiān)聽滾動(dòng)和id自動(dòng)定位滾動(dòng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12layui 對彈窗 form表單賦值的實(shí)現(xiàn)方法
今天小編就為大家分享一篇layui 對彈窗 form表單賦值的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09JavaScript變量聲明var,let.const及區(qū)別淺析
這篇文章主要介紹了JavaScript變量聲明var,let.const及區(qū)別淺析,需要的朋友可以參考下2018-04-04HTML+CSS+JavaScript創(chuàng)建一個(gè)簡單的井字游戲
使用javascript創(chuàng)建游戲是最有趣的學(xué)習(xí)方式。它會(huì)讓你保持動(dòng)力,這對于學(xué)習(xí)?Web?開發(fā)等復(fù)雜技能至關(guān)重要。本文將使用HTML、CSS和?Javascript創(chuàng)建一個(gè)井字游戲。感興趣的童鞋可以關(guān)注一下2021-11-11