时间格式有很多种:yyyy-MM-dd 或者 yyyy.MM.dd 或者yyyy/MM/dd
他们之间想要互相转换的话:

  1. 封装方法

     //封装时间格式
           function: format(time, format) {
             var t = new Date(time);
             var tf = function (i) {
               return (i < 10 ? '0' : '') + i
             };
             return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function (a) {
               switch (a) {
                 case 'yyyy':
                   return tf(t.getFullYear());
                   break;
                 case 'MM':
                   return tf(t.getMonth() + 1);
                   break;
                 case 'mm':
                   return tf(t.getMinutes());
                   break;
                 case 'dd':
                   return tf(t.getDate());
                   break;
                 case 'HH':
                   return tf(t.getHours());
                   break;
                 case 'ss':
                   return tf(t.getSeconds());
                   break;
               }
             })
           },
     调用方法:format(n1,n2) //传两个参数,第一个是要转换的值,第二个是要转换的格式
     如:
     format(“2019/01/02”,“yyyy.MM.dd”) // 2019.01.02
    

2.过滤器
在vue项目中的话,可以封装成js文件,引入到入口文件中,只要能用到的地方就用filter过滤的方式就可以了,方便简单。
第一步,将 getFormatDateByLong.js文件放入asstes静态文件js中
第二步,在用到的vue文件中引用(或者全局引入):
import {getFormatDateByLong} from ‘@/assets/js/longTodata’
第三步,在用到的vue文件中写

<td>{{ modifytime | formatData()}}</td>  //在标签中使用方法
filters:{
	    formatData(value){
			return getFormatDateByLong(value, "yyyy-MM-dd hh:mm:ss")  //这里第二个参数是你想要的格式
		}
	}
  1. js 中replace(参数1,参数2),参数可以是正则,可以是字符串,用参数2 代替参数1
    stringObject.replace(regexp/substr,replacement)

     var year = "2019/01/02"
     var year2 = year.replace(/\//g,".")   正则/\//g 全局查找/  用. 替换 
     结果就是 2019.01.02
    
Logo

前往低代码交流专区

更多推荐