artTemplate去掉时间的年份,格式化成MM-dd HH:mm的格式

在使用artTemplate时,需求是将列表里的时间显示为MM-dd HH:mm的格式,但后台返回的json数据中时间为yyyy-MM-dd HH:mm,需要使用template.helper(name, callback)注册公用辅助方法。

首先,需要在artTemplate.js文件中加入以下方法:

template.helper('dateFormat', function (srcDate,formatStr) {
	    var date;
		if(srcDate instanceof Date){
			date = srcDate;
		}else{
			srcDate = srcDate.replace(/-/g,"/");
			date = new Date(srcDate);
		}
		var date = new Date(srcDate);
		var str = formatStr;
	    var Week = ['日', '一', '二', '三', '四', '五', '六'];
	
	    str = str.replace(/yyyy|YYYY/, date.getFullYear());
	    str = str.replace(/yy|YY/, (date.getYear() % 100) > 9 ? (date.getYear() % 100).toString() : '0' + (date.getYear() % 100));
	    var month = date.getMonth() + 1;
	    str = str.replace(/MM/, month > 9 ? month.toString() : '0' + month);
	    str = str.replace(/M/g, month);
	
	    str = str.replace(/w|W/g, Week[date.getDay()]);
	
	    str = str.replace(/dd|DD/, date.getDate() > 9 ? date.getDate().toString() : '0' + date.getDate());
	    str = str.replace(/d|D/g, date.getDate());
	
	    str = str.replace(/hh|HH/, date.getHours() > 9 ? date.getHours().toString() : '0' + date.getHours());
	    str = str.replace(/h|H/g, date.getHours());
	    str = str.replace(/mm/, date.getMinutes() > 9 ? date.getMinutes().toString() : '0' + date.getMinutes());
	    str = str.replace(/m/g, date.getMinutes());
	
	    str = str.replace(/ss|SS/, date.getSeconds() > 9 ? date.getSeconds().toString() : '0' + date.getSeconds());
	    str = str.replace(/s|S/g, date.getSeconds());
	    return str;
	});

其次,在使用模板渲染时,使用以下写法:

   {{value.time | dateFormat:'MM-dd HH:mm'}}

最后,就可以将时间统一格式化为没有年份的格式。

你可能感兴趣的:(artTemplate,移动开发)