格式化时间万能方法代码

 

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;
}

如何使用:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<script src="vue.js"></script>
</head>
<body>
	<div id="app">
		<div>{{date|format("yyyy-MM-dd")}}</div>
		
	</div>
	<script>
		Vue.filter("format",function(val,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;
			}
			return dateFormat(val,arg);
		})
		var vm =new Vue({
			el:"#app",
			data:{
				date:new Date()
			}
		});
	</script>
</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值