zoukankan      html  css  js  c++  java
  • Vue 使用dayjs结合filter过滤器格式化日期

    参考了:https://qtdebug.com/html/java-vue-adventure

    格式化日期的插件有moment.js和day.js,这里我用的是day.js

    npm 下载:npm install dayjs --save

    在需要的页面中引入 也可以在main.js中全局引入:import dayjs from 'dayjs'


    使用前:

     使用后:

     上面是直接使用day .js ,我们也可以结合过滤器使用,其实就是把格式化的方法写在过滤器中,在页面直接使用过滤器即可。。

     首先在单独建一个filter.js 代码如下,这里我定义了两个过滤器 分别表示不同的规则。

    import dayjs from 'dayjs'
    import relativeTime from 'dayjs/plugin/relativeTime'
    import 'dayjs/locale/zh-cn'
    dayjs.locale('zh-cn')
    dayjs.extend(relativeTime)
    console.log(dayjs())
    const filters = {
      /**
       * 功能:将时间戳按照给定的 时间/日期 格式进行处理
       * @param {Number} date 时间戳
       * @returns {String} 规范后的 时间/日期 字符串
       */
      formatDate: function (date) {
        if (!date) {
          return '---';
        }
        return dayjs(date).format('YYYY-MM-DD dddd'); // 使用 dayjs 格式化时间
      },
      
      fmtTime(date) {
        if (dayjs().diff(dayjs(date), 'minutes') > 1) {
          return dayjs(date).fromNow()
        }
        return dayjs(date).format('YYYY-MM-DD HH:mm') // 使用 dayjs 格式化时间
      }
    }
    export default Vue => {
      Object.keys(filters).forEach(key => {
        Vue.filter(key, filters[key])
      })
    }

    然后在main.js 中引入filter.js

    最后就可以在页面中使用过滤器了:这次就不用引入day.js了(过滤器里已经引入过了) 因为已经把方法都写在过滤器里了,直接使用定义的过滤器名字即可。。。

  • 相关阅读:
    限时购校验小工具&dubbo异步调用实现限
    Android 应用防止被二次打包指南
    什么是高防服务器?
    真屏实据丨数据大屏设计实战—揭秘企业级数据大屏设计过程
    TerminateThread函数学习
    HTML DOM访问
    gdb常用命令
    整数开方算法
    android环境下解决java.io.IOException: Malformed ipv6异常的方法
    HTML DOM 创建与修改
  • 原文地址:https://www.cnblogs.com/jervy/p/12051814.html
Copyright © 2011-2022 走看看