You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
1.8 KiB
76 lines
1.8 KiB
<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>helper-demo</title>
|
|
<script src="../../dist/template-native.js"></script>
|
|
</head>
|
|
|
|
<body>
|
|
<h1>辅助方法</h1>
|
|
<div id="content"></div>
|
|
<script id="test" type="text/html">
|
|
<%=dateFormat(time, 'yyyy<b>年</b> MM月 dd日 hh:mm:ss')%>
|
|
</script>
|
|
|
|
<script>
|
|
/**
|
|
* 对日期进行格式化,
|
|
* @param date 要格式化的日期
|
|
* @param format 进行格式化的模式字符串
|
|
* 支持的模式字母有:
|
|
* y:年,
|
|
* M:年中的月份(1-12),
|
|
* d:月份中的天(1-31),
|
|
* h:小时(0-23),
|
|
* m:分(0-59),
|
|
* s:秒(0-59),
|
|
* S:毫秒(0-999),
|
|
* q:季度(1-4)
|
|
* @return String
|
|
* @author yanis.wang
|
|
* @see http://yaniswang.com/frontend/2013/02/16/dateformat-performance/
|
|
*/
|
|
template.helper('dateFormat', function (date, format) {
|
|
|
|
date = new Date(date);
|
|
|
|
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;
|
|
});
|
|
|
|
// --------
|
|
|
|
var data = {
|
|
time: (new Date).toString(),
|
|
};
|
|
var html = template('test', data);
|
|
document.getElementById('content').innerHTML = html;
|
|
</script>
|
|
</body>
|
|
</html>
|
|
|
|
|
|
|
|
|