unix時(shí)間戳轉(zhuǎn)換的方法詳解
小白對于將 unix 時(shí)間戳轉(zhuǎn)換為日期時(shí)間和使用日期時(shí)間轉(zhuǎn)換為 unix 時(shí)間戳,在項(xiàng)目中見到過很多,每次使用時(shí)不是用現(xiàn)有的方法轉(zhuǎn)換就是網(wǎng)上搜索方法。
小白見過各種轉(zhuǎn)換方式覺得moment庫很是方便,但是用法較多,所以小白決定整理一下。以后再遇到時(shí)間日期轉(zhuǎn)換可能手寫代碼而省去翻看資料的時(shí)間。
vue中使用moment.js庫需要通過 npm install moment 來安裝。
在使用時(shí)需要通過 import moment from 'momennt' 來引入組件中。
1. 這里是一些常見的用法:
currentDate: moment().format('YYYY-MM-DD'), // 獲取當(dāng)前日期
currentTime: moment().format('HH:mm:ss'), // 獲取當(dāng)前時(shí)間
formattedDate: moment('2023-08-25').format('MMMM Do YYYY'), // 格式化日期
diffInDays: moment('2023-08-25').diff(moment(), 'days'), // 計(jì)算日期差異
isLeapYear: moment('2023-08-25').isLeapYear() // 檢查是否是閏年下面開始演示 日期和 Unix 時(shí)間戳 的轉(zhuǎn)換
1. 使用 moment 將日期轉(zhuǎn)換為Unix時(shí)間戳:
const dateInt = moment('2023-08-25').valueOf(); 1800000000000
//valueOf() 方法將 Moment 對象轉(zhuǎn)換為 Unix 時(shí)間戳 (自UTC時(shí)間 1970年 1月 1日零點(diǎn)以來的毫秒數(shù))2. 使用 moment 將時(shí)間轉(zhuǎn)換為 Unix 時(shí)間戳,再轉(zhuǎn)換回時(shí)間
const unixTimestamp = moment('2023-08-25 17:56:00').unix(); // 轉(zhuǎn)換為 Unix 時(shí)間戳
const formattedDate = moment.unix(unixTimestamp).format('YYYY-MM-DD HH:mm:ss'); // 格式化日期時(shí)間
console.log(unixTimestamp); // 輸出:1671963360
console.log(formattedDate); // 輸出:2023-08-25 17:56:00特別注意:unix()和valueOf()的區(qū)別,valueOf 獲取日期對象的毫秒級時(shí)間戳,unix 獲取日期對象的秒級時(shí)間戳。而 Unix 時(shí)間戳一般是秒級的。
moment 中還有一個處理時(shí)區(qū)的插件 tz,它允許我們在具體的時(shí)區(qū)進(jìn)行日期和時(shí)間的轉(zhuǎn)換和處理。
1. vue中使用 tz 需要安裝moment庫 和 moment-timezone 插件。可以使用npm 或 yarn 進(jìn)行安裝 npm install moment moment-timezone
2. 在組件中使用時(shí),需要引入
import moment from 'moment'; import 'moment-timezone';
3. 下面是一些常見用法
// 獲取當(dāng)前時(shí)間,并將其轉(zhuǎn)換為指定時(shí)區(qū)的時(shí)間
const now = moment();
const nyTime = moment.tz(now, 'America/New_York');
// 使用指定時(shí)區(qū)創(chuàng)建一個 Moment 對象
const parisTime = moment.tz('2023-08-31 12:00', 'Europe/Paris');
// 將時(shí)間從當(dāng)前時(shí)區(qū)轉(zhuǎn)換為目標(biāo)時(shí)區(qū)
const londonTime = moment.tz('2023-08-31 12:00', 'Europe/London').tz('America/New_York');
// 獲取所有可用的時(shí)區(qū)
const timezones = moment.tz.names();
// 獲取指定時(shí)區(qū)在當(dāng)前時(shí)間的偏移量(以分鐘為單位)
const offset = moment.tz('America/New_York').utcOffset();tz 還可以配合 format 一起使用:
moment.tz('2022-12-31 23:59:59', 'America/New_York').format('YYYY-MM-DD HH:mm:ss z')
//或者
const time = '2022-12-31 23:59:59';
const tz = 'America/New_York';
const fmt = 'YYYY-MM-DD HH:mm:ss z';
const formattedDateTime = moment(time).tz(tz).format(fmt);
//第二種方式為舊版本使用方式雖然是一個小工具庫,但是項(xiàng)目中使用率還挺高,所以小白覺得值得用心整理。整理的過程也是自己學(xué)習(xí)的過程,同時(shí)也能夠當(dāng)作筆記,在遺忘時(shí)再回來翻看。小白希望通過這次整理能夠完全掌握menent 庫的使用,以便在以后的項(xiàng)目,遇到處理時(shí)間日期格式時(shí),不需要查詢資料,能夠閉眼手寫代碼,提高效率節(jié)省時(shí)間。
到此這篇關(guān)于unix時(shí)間戳轉(zhuǎn)換的方法詳解的文章就介紹到這了,更多相關(guān)unix時(shí)間戳內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue3 Teleport瞬間移動函數(shù)使用方法詳解
這篇文章主要為大家詳細(xì)介紹了vue3 Teleport瞬間移動函數(shù)使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03
創(chuàng)建vue報(bào)錯vue-cli?Failed?to?download?repo?vuejs-templates/
通過vue-cli創(chuàng)建Vue項(xiàng)目時(shí),若遇到連接超時(shí)錯誤,可采用離線方式解決,具體操作是下載并解壓vue-templates/webpack到本地.vue-templates目錄,再使用--offline參數(shù)重新執(zhí)行初始化命令2024-09-09
如何使用 Deepseek 寫的uniapp油耗計(jì)算器
這篇文章主要介紹了如何使用 Deepseek 寫的uniapp油耗計(jì)算器,下面是一個基于 Uniapp 的油耗計(jì)算器實(shí)現(xiàn),包含 Vue 組件和頁面代碼,需要的朋友可以參考下2025-04-04
vue3.0+ts引入詳細(xì)步驟以及語法校驗(yàn)報(bào)錯問題解決辦法
Vue?3.0是一個非常流行的JavaScript框架,不僅易于學(xué)習(xí)和使用,而且可以與許多UI框架集成,下面這篇文章主要給大家介紹了關(guān)于vue3.0+ts引入詳細(xì)步驟以及語法校驗(yàn)報(bào)錯問題的解決辦法,需要的朋友可以參考下2024-01-01
vue前端實(shí)現(xiàn)批量上傳圖片功能并回顯圖片
這篇文章主要為大家詳細(xì)介紹了vue前端實(shí)現(xiàn)批量上傳圖片功能并回顯圖片的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-10-10
vue組件傳遞對象中實(shí)現(xiàn)單向綁定的示例
下面小編就為大家分享一篇vue組件傳遞對象中實(shí)現(xiàn)單向綁定的示例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02
vuex實(shí)現(xiàn)簡易計(jì)數(shù)器
這篇文章主要為大家詳細(xì)介紹了vuex實(shí)現(xiàn)一個簡易計(jì)數(shù)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10

