vue实现传入任意的时间日期格式返回对应的值

本人最近正在学习uni-app,学习到一个格式化时间日期格式的方法,分享给大家:
创建一个div显示时间

<div id="app">
	<div id="date">
		{{myDate | format('yyyy-MM-dd hh:mm:ss') }}
	</div>
</div>

创建一个过滤器传入格式进行过滤并返回对应的时间

 Vue.filter('format',function(value,arg){
			 	return dateFormat(value,arg);
			 });

重点函数:

function dateFormat(date,format){
			 				 if(typeof date == "string"){
			 					 var mts = date.match(/(\/Date\((\d+)\)\/)/);
			 					 if(mts && mts.length>=3){
			 						 date = parseInt(mts[2]);
			 					 }
			 				 }
			 				 date = new Date(date);
			 				 if(!date || date.toUTCString() == "Invalid Date"){
			 					 return "";
			 				 }
			 				 var map = {
			 					 "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() //毫秒
			 				 };
			 				 
			 				 format = format.replace(/([yMdhmsqS])+/g,function(all,t){
			 					var v = map[t];
			 					 if(v != undefined){
			 						 if(all.length > 1){
			 							 v = '0' +v;
			 							 v = v.substr(v.length - 2);
			 						 }
			 						 return v;
			 					 }else if(t == 'y'){
			 						 return (date.getFullYear()+'').substr(4-all.length);
			 					 }
			 					 return all;
			 				 });
			 				 return format;
			 }

当然还有实例化我们的app对象创建一个时间

var app = new Vue({
				el:'#app',
				data:{
					myDate:new Date()
				}
			});

效果:
在这里插入图片描述
拿来就用,还是很不错的!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值