vue開(kāi)發(fā)之moment的介紹與使用
前言
在日常開(kāi)發(fā)中,我們常常會(huì)遇到以下幾種場(chǎng)景:
- 需要對(duì)日期進(jìn)行非標(biāo)準(zhǔn)格式展示,如 :2021年5月11日星期二下午6點(diǎn)42分
- 需要對(duì)日期進(jìn)行處理,如:要取前24小時(shí)的時(shí)間 等
在這時(shí)候用js原生的new Date()處理就有些麻煩了,因此我們找到了moment這個(gè)類庫(kù)
一、moment是什么?
moment 是一個(gè) JavaScript 日期處理類庫(kù)。
安裝 moment
如果之前安裝過(guò)就不用再安裝了。
npm install moment -- save
注:以下所有時(shí)間相對(duì)于現(xiàn)在時(shí)間:2021/05/11/18:42 星期二
1.日期格式化:
moment().format('MMMM Do YYYY, h:mm:ss a'); // 五月 11日 2021, 6:42:31 下午
moment().format('dddd'); // 星期二
moment().format("MMM Do YY"); // 5月 11日 21
moment().format('YYYY [escaped] YYYY'); // 2021 escaped 2021
moment().format(); //2021-05-11T18:06:42+08:00
2.相對(duì)時(shí)間:
moment("20111031", "YYYYMMDD").fromNow(); // 2011/10/31號(hào)相對(duì)于現(xiàn)在是: 10 年前
moment("20120620", "YYYYMMDD").fromNow(); // 2012/06/20號(hào)相對(duì)于現(xiàn)在是: 9 年前
moment().startOf('day').fromNow(); //當(dāng)前日期開(kāi)始即:2021/05/11/00:00:00相對(duì)于現(xiàn)在是: 19 小時(shí)前
moment().endOf('day').fromNow(); //當(dāng)前日期結(jié)束即:2021/05/11/24:00:00相對(duì)于現(xiàn)在是: 5 小時(shí)內(nèi)
moment().startOf('hour').fromNow(); //當(dāng)前日期小時(shí)開(kāi)始即:2021/05/11/18:00:00相對(duì)于現(xiàn)在是: 42分鐘前
3.日歷時(shí)間:
moment().subtract(10, 'days').calendar(); // 當(dāng)前時(shí)間往前推10天的日歷時(shí)間: 2021/05/01 moment().subtract(6, 'days').calendar(); // 當(dāng)前時(shí)間往前推6天: 上星期三18:42 moment().subtract(3, 'days').calendar(); // 當(dāng)前時(shí)間往前推3天: 上星期六18:42 moment().subtract(1, 'days').calendar(); // 當(dāng)前時(shí)間往前推1天: 昨天18:42 moment().calendar(); // 今天18:42 moment().add(1, 'days').calendar(); // 當(dāng)前時(shí)間往后推1天: 明天18:42 moment().add(3, 'days').calendar(); // 當(dāng)前時(shí)間往后推3天: 下星期五18:42 moment().add(10, 'days').calendar(); // 當(dāng)前時(shí)間往后推10天: 2021/05/21
4.多語(yǔ)言支持:
moment.locale(); // zh-cn
moment().format('LT'); // 18:42
moment().format('LTS'); // 18:42:31
moment().format('L'); // 2021/05/11
moment().format('l'); // 2021/5/11
moment().format('LL'); // 2021年5月11日
moment().format('ll'); // 2021年5月11日
moment().format('LLL'); // 2021年5月11日下午6點(diǎn)42分
moment().format('lll'); // 2021年5月11日 18:42
moment().format('LLLL'); // 2021年5月11日星期二下午6點(diǎn)42分
moment().format('llll'); // 2021年5月11日星期二 18:42
二、使用步驟(例:默認(rèn)查詢時(shí)間24小時(shí)之前~當(dāng)前時(shí)間)
1.引入庫(kù)
$ npm install moment --save
2.在main.js中全局引入(也可單獨(dú)在使用的文件中引入,具體看需求)
import moment from "moment" Vue.prototype.$moment = moment;
3.在需要使用日期的地方使用
HTML中:
<el-date-picker
v-model="timeRange"
type="datetimerange"
range-separator="至"
start-placeholder="開(kāi)始日期"
end-placeholder="結(jié)束日期">
</el-date-picker>
JS中:
data() {
return {
timeRange:[],
}
},
mounted(){
let start = this.$moment()
.subtract('1', 'd')
.format('YYYY-MM-DD HH:mm:ss') //當(dāng)前時(shí)間往前推1天(24小時(shí)):2021-05-10 18:42:53
let end = this.$moment().format('YYYY-MM-DD HH:mm:ss') //當(dāng)前時(shí)間:2021-05-11 18:42:53
this.timeRange=[start,end]
},
三、日期格式
| 格式 | 含義 | 舉例 | 備注 |
|---|---|---|---|
| yyyy | 年 | 2021 | 同YYYY |
| M | 月 | 1 | 不補(bǔ)0 |
| MM | 月 | 01 | |
| d | 日 | 2 | 不補(bǔ)0 |
| dd | 日 | 02 | |
| dddd | 星期 | 星期二 | |
| H | 小時(shí) | 3 | 24小時(shí)制;不補(bǔ)0 |
| HH | 小時(shí) | 18 | 24小時(shí)制 |
| h | 小時(shí) | 3 | 12小時(shí)制,須和 A 或 a 使用;不補(bǔ)0 |
| hh | 小時(shí) | 03 | 12小時(shí)制,須和 A 或 a 使用 |
| m | 分鐘 | 4 | 不補(bǔ)0 |
| mm | 分鐘 | 04 | |
| s | 秒 | 5 | 不補(bǔ)0 |
| ss | 秒 | 05 | |
| A | AM/PM | AM | 僅 format 可用,大寫(xiě) |
| a | am/pm | am | 僅 format 可用,小寫(xiě) |
具體方法以及參數(shù)可詳見(jiàn)moment官方文檔
四、new Date() 相關(guān)
日期都寫(xiě)這么多了,那new Date()也一起總結(jié)下吧
let time = new Date(); //獲取當(dāng)前時(shí)間 Tue May 11 2021 18:42:51 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間)
let year = time.getFullYear(); //獲取年 2021
let month = time.getMonth() + 1; //獲取月 5
let day = time.getDate(); //獲取天 11
let h = time.getHours(); //獲取小時(shí) 18
let m = time.getMinutes(); //獲取分鐘 42
let s = time.getSeconds(); //獲取秒 51
let weekDay = time.getDay(); //獲取星期 2
總結(jié)
到此這篇關(guān)于vue開(kāi)發(fā)之moment的介紹與使用的文章就介紹到這了,更多相關(guān)vue moment使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- vue獲取當(dāng)前日期時(shí)間(使用moment和new?Date())
- vue使用moment如何將時(shí)間戳轉(zhuǎn)為標(biāo)準(zhǔn)日期時(shí)間格式
- vue之moment的使用方式
- Vue 實(shí)現(xiàn)CLI 3.0 + momentjs + lodash打包時(shí)優(yōu)化
- vue時(shí)間格式總結(jié)以及轉(zhuǎn)換方法詳解
- vue格式化element表格中的時(shí)間為指定格式
- vue 中常見(jiàn)的時(shí)間格式轉(zhuǎn)換
- Vue?3?使用moment設(shè)置顯示時(shí)間格式的問(wèn)題及解決方法
相關(guān)文章
vite+vue3中使用mock模擬數(shù)據(jù)問(wèn)題
這篇文章主要介紹了vite+vue3中使用mock模擬數(shù)據(jù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
vue?動(dòng)態(tài)路由component?傳遞變量報(bào)錯(cuò)問(wèn)題解決
這篇文章主要為大家介紹了vue?動(dòng)態(tài)路由component?傳遞變量報(bào)錯(cuò)問(wèn)題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
手寫(xiě)實(shí)現(xiàn)Vue計(jì)算屬性
這篇文章主要介紹了手寫(xiě)實(shí)現(xiàn)Vue計(jì)算屬性,本文從一個(gè)簡(jiǎn)單的計(jì)算屬性例子開(kāi)始,一步步實(shí)現(xiàn)了計(jì)算屬性。并且針對(duì)這個(gè)例子,詳細(xì)分析了頁(yè)面渲染時(shí)的整個(gè)代碼執(zhí)行邏輯,需要的小伙伴可以參考一下2022-08-08
vue 組件之間事件觸發(fā)($emit)與event Bus($on)的用法說(shuō)明
這篇文章主要介紹了vue 組件之間事件觸發(fā)($emit)與event Bus($on)的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07
Vue開(kāi)發(fā)指南之重點(diǎn)知識(shí)梳理
這篇文章主要介紹了Vue開(kāi)發(fā)指南之重點(diǎn)知識(shí)梳理,對(duì)Vue框架感興趣的同學(xué),可以參考下2021-05-05
vue中的代碼如何進(jìn)行斷點(diǎn)調(diào)試
這篇文章主要介紹了vue中的代碼如何進(jìn)行斷點(diǎn)調(diào)試問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
Vue文件下載進(jìn)度條的實(shí)現(xiàn)過(guò)程
這篇文章主要介紹了Vue文件下載進(jìn)度條的實(shí)現(xiàn)原理,通過(guò)使用onDownloadProgress方法API獲取進(jìn)度及文件大小等數(shù)據(jù),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07

