vue中时间格式转化问题

news/2024/7/9 23:52:09 标签: vue, es6

    1. 效果图:

  

    2. 需求:前台展示一律用的时间规格:yyyy-MM-dd HH:mm:SS,即要求月日时分秒小于两位数的都要补0,这样显得整体化一。所以下面就是专门对月日时分秒小于10时做补0的处理,实际刚开始想到的就是直接挨个判断月日时分秒<10时,直接拼接0的想法,被同事打断了,这个方法太繁琐了。所以发现了以下简洁的方法,据说是es6中的函数用法,还没有去具体查询出处,先用着再说吧。接下来分析代码.

     可以把它写在一个单独的js中,这样就可以写在公共方法里,大家都可以调用的那种,当然也可以写在你需要地方的方法里,按照自己的实际情况来

      ①写在公共方法里

        可以在工具文件夹底下新建一个data.js,如下:

   代码部门:

其中Vue.prototype是将formatDate这个方法设置问全局方法,这样就都可以调用了,注意方法名名为formatDate,后面用

/**
 * Created by syp on 2020/5/15.
 */

exports.install = function (Vue, options) {
  Vue.prototype.formatDate = function (row, column) {
    let data = row[column.property]
    if (data == null) {
      return null
    }
    let dt = new Date(data)
    let yyyy = dt.getFullYear()
    let MM = (dt.getMonth() + 1).toString().padStart(2, '0')
    let dd = dt.getDate().toString().padStart(2, '0')
    let h = dt.getHours().toString().padStart(2, '0')
    let m = dt.getMinutes().toString().padStart(2, '0')
    let s = dt.getSeconds().toString().padStart(2, '0')
    return yyyy + '-' + MM + '-' + dd + ' ' + h + ':' + m + ':' + s
  }
}

  处理好data.js后,再在公共js中调用一下,设置为全局的,这样大家就都可以用了

然后在vue页面进行调用图:

:formatter="formatDate"

formatDate就是设置为全局方法的方法名 

   ②将它只是变为局部的格式化时间调用,那么就需要把格式化时间的代码放在调用页面的方法中

一下这个方法只需要放在本页面的method底下就好了

formatDate (row, column) {
        let data = row[column.property]
        if (data == null) {
          return null
        }
        let dt = new Date(data)
        return dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate() + ' ' + dt.getHours() + ':' + dt.getMinutes() + ':' + dt.getSeconds()
      },

在列表展示的熟悉中运用和上面一样都用:formatter="formatDate"就ok了。

图示:


http://www.niftyadmin.cn/n/1367995.html

相关文章

SpringBoot项目端口被占用的情况

1.出现这种情况的背景&#xff1a; 正在用idea&#xff0c;由于启动的软件太多&#xff0c;内存不足&#xff0c;然后直接导致idea自己毫无征兆的关闭了&#xff0c;这样就会导致运行的项目还在后台跑&#xff0c;当你再次启动idea去运行项目的时候就会发现&#xff0c;后台提示…

Mysql用脚本给表新增字段,类型,注释

一.给表增加字段&#xff0c;类型&#xff0c;注释 例如&#xff1a;我有一个这样的表image_apply&#xff0c;然后给它里面新增字段&#xff0c;并且它的类型&#xff0c;注释也要用脚本新增上去 ALTER TABLE image_apply ADD home_address VARCHAR(100) null default null …

WPS删除表格后的空白页

1、单击段落标记左边的空白处&#xff0c;使段落标记呈选中状态。当然也可用其他办法选中。 WPS文字删除表格空白页的步骤1 2、在段落标记上击右键&#xff0c;执行右键菜单中的“字体”命令&#xff0c;调出“字体”对话框。当然也可以从主菜单栏中执行此命令&#xff0c;不…

finereport报表中字段计算时间差

前提是已经建好了数据集&#xff0c;里面包含俩时间&#xff0c;即开始时间和结束时间&#xff0c;这样要计算俩时间差就好办了 例如&#xff1a; 1.sql中展示&#xff1a; 2.数据集中的时间展示 3.将俩时间拉入报表列中 4.拉进去之后再增加一列专门来用它们俩相减计算想要的…

mysql将服务器上表及数据拷贝到本地数据库中

首先&#xff0c;业务需求就是需要在本地测试项目&#xff0c;需要将整个项目个别类名做改动&#xff0c;涉及到修改数据表字段这些&#xff0c;为了不影响服务器上部署的项目&#xff0c;只好需要将表备份到本地&#xff0c;然后在本地进行修改测试。 连接上服务器上表看了一下…

finereport报表的自动查询设置

1.拿到一个报表后&#xff0c;除过让报表在点击查询的时候显示数据&#xff0c;还有就是在显示时加载好数据&#xff0c;这样立马就能展示出来数据了 2.设置打开时加载好数据的步骤 如图所示&#xff1a; ①将查询条件部分放开&#xff0c;然后很明显的能够看出上面分为两部分…

FineReport报表中超链接设置

本章主要介绍一个报表中的列设置超链接&#xff0c;链接到另一张报表中&#xff0c;前提是两张报表在同一目录下&#xff0c;这样比较好处理些&#xff0c;如果涉及到不同目录的两个报表进行超链接&#xff0c;这个需要自己研究一下&#xff0c;肯定是可以的。 一、准备第一张…

FineReport报表中增加自增ID

通过看官方文档&#xff0c;就可以得知要在报表中增加自增id&#xff0c;就必须要当前所用的数据集中有个父ID&#xff0c;而这个父ID又是啥哩&#xff1f; 其实它就是你表中的自增id,只不过它的数量是随着你的数据走的&#xff0c;不符合要求&#xff0c;所以需要FineReport自…