JavaScript时间库Moment.js

中文网站:http://momentjs.cn
MomentJS 是一个 JavaScript 库,它有助于以非常简单的方式解析、验证、操作和显示 JavaScript 中的日期/时间。

Vue 项目中全局引入 moment

  1. 安装 moment:
    1
    npm install moment --save
  2. 在 Vue 项目中创建一个 main.js 文件,并在该文件中添加以下代码:
    1
    2
    3
    4
    import Vue from 'vue'
    import moment from 'moment'

    Vue.prototype.$moment = moment
    以上代码中,我们通过 ES6 的 import 语法将 moment 引入,再通过 Vue.prototype 将 moment 挂载到 Vue 的原型上,这样在项目中就可以通过 this.$moment 访问 moment 库的方法了。
  3. 在组件中使用 moment:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <template>
    <div>
    当前时间是:{{ time }}
    </div>
    </template>

    <script>
    export default {
    data () {
    return {
    time: ''
    }
    },
    created () {
    this.time = this.$moment().format('YYYY-MM-DD HH:mm:ss')
    }
    }
    </script>

    以上代码中,我们在组件的 created 钩子中使用了 this.$moment() 获取当前时间,并通过 format 方法格式化成需要的时间格式,并将其赋值给组件的 time 数据,随后在模板中展示出来。

这样就完成了在 Vue 项目中全局引入 moment 的操作。

全局过滤器

  1. main.js 中进行全局过滤器定义
1
2
3
4
5
6
7
// 导入时间插件momentjs
import moment from 'moment'

// 定义时间格式全局过滤器
Vue.filter('dateFormat', function (daraStr, pattern = 'YYYY-MM-DD HH:mm:ss') {
return moment(daraStr).format(pattern)
})
  1. 模版中使用
1
2
3
4
5
6
<!-- 显示2019-12-05 10:10 -->
<div class="time">{{nowDate | dateFormat('YYYY-MM-DD HH:mm')}}</div>
<!-- 显示10:10 -->
<div class="time">{{nowDate | dateFormat('HH:mm')}}</div>
<!-- 显示2019-12-05 10:10:10 -->
<div class="time">{{nowDate | dateFormat}}</div>

参考


JavaScript时间库Moment.js
http://xiaodongxier.github.io/pages/dae41be.html
作者
WangYongJie
发布于
2023年8月26日
更新于
2023年8月26日
许可协议