定义全局过滤器-时间格式

1.在main.js文件

import Vue from 'vue'
import App from './App'

Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
    ...App
})

//格式化时间1
Vue.filter('format', function(originVal) {
  const dt = new Date(originVal)

  const y = dt.getFullYear()
  const m = (dt.getMonth() + 1 + '').padStart(2, '0')
  const d = (dt.getDate() + '').padStart(2, '0')

  const hh = (dt.getHours() + '').padStart(2, '0')
  const mm = (dt.getMinutes() + '').padStart(2, '0')
  const ss = (dt.getSeconds() + '').padStart(2, '0')

  return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
})
//格式化时间1
Vue.prototype.$formatDate = function (date,fmt) {
	var o = {
		"M+": date.getMonth() + 1,
		"d+": date.getDate(),
		"h+": date.getHours(),
		"m+": date.getMinutes(),
		"s+": date.getSeconds(),
		"q+": Math.floor((date.getMonth() + 3) / 3),
		"S": date.getMilliseconds()
	};
	if (/(y+)/.test(fmt))
		fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
	for (var k in o)
		if(o.hasOwnProperty(k)){
			if (new RegExp("(" + k + ")").test(fmt))
				fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
		}
	return fmt;
};
app.$mount()

2.还有一种方法,在APP.vue文件定义全局方法

methods:{
    // time为时间戳,desc为连接符,type为类型:day为到日期,time为到豪秒
	getTime(time,desc,type){
		let dates = new Date(time);
		let year = dates.getFullYear();
		let month = (dates.getMonth() + 1) > 9 ? (dates.getMonth() + 1) : '0' + (dates.getMonth() + 1);
		let day = dates.getDate() > 9 ? dates.getDate() : '0' + dates.getDate();
		let hour = dates.getHours() > 9 ? dates.getHours() : '0' + dates.getHours();
		let min = dates.getMinutes() > 9 ? dates.getMinutes() : '0' + dates.getMinutes();
		let sec = dates.getSeconds() > 9 ? dates.getSeconds() : '0' + dates.getSeconds();
		if(type=='day'){
			return year + desc + month + desc + day;
		}else{
			return year + desc + month + desc + day + ' ' + hour + ":" + min + ":" + sec;
		}
	},
}

3.在其他页面引用

<template>
	<view class="content">
	    {{new Date().getTime() | format}}//格式化时间1
	</view>
</template>

<script>
    const app = getApp();//这个一定要引用,不然方法2会报错
    export default {
        data() {
			return {
				
			}
		},
        methods:{
            let formattedTime = this.$formatDate(new Date(),'hh:mm');//格式化时间2
            //方法2,editInfo.appoint_work_start_time时间戳,单位秒,乘以1000转为毫秒
            this.TimegoWork = app.$vm.getTime(editInfo.appoint_work_start_time*1000,"-","day");
        }
    }
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值