{include="style"}
首页 系统扩展 模板制作手册
  • 标签生成
  • 公共配置输出
  • 栏目相关输出
  • 文章详情输出
  • 商品详情输出
  • 友情链接输出
  • 轮播图输出
  • loop标签解析
  • 常用标签
文章模块标签生成
选择栏目 是否分页 输出子类数据 排序 输出条数 操作

							  
商品模块标签生成
选择栏目 是否分页 输出子类数据 排序 输出条数 操作

							  
扩展配置统一使用规则: 标签值{!--$customconf[配置参数]--} 或者 通过方法获取标签值{!--fun get_custom(配置参数)--}
自定义配置
{loop table="sysconfig" orderby="id asc" notin="type|0" as="v"} {$v['title']}
{!--$customconf['{$v['field']}']--}
{/loop}
系统配置统一使用规则:{!--$webconf[配置参数]--} 或者 通过方法获取{!--fun webConf(配置参数)--}
系统配置
{loop table="sysconfig" orderby="id asc" type="0" as="v"} {$v['title']}
{!--$webconf['{$v['field']}']--}
{/loop}
全局栏目属性输出
所谓全局也就是整个前台模板体系里都能够使用的标签
{!--$classtypedata[$id][$str]--}
							  $id:栏目的ID
							  $str:栏目对应的字段参数
							  如:针对于栏目ID等于1的栏目,我们可以这样输出以下内容:
							  栏目名:{!--$classtypedata[1]['classname']--}
								模块标识:{!--$classtypedata[1]['molds']--}
								缩略图:{!--$classtypedata[1]['litpic']--}
								当前栏目URL:{!--$classtypedata[1]['url']--}
								描述:{!--$classtypedata[1]['description']--}
								关键词:{!--$classtypedata[1]['keywords']--}
								内容:{!--$classtypedata[1]['body']--}
								列表输出条数:{!--$classtypedata[1]['lists_num']--}
								栏目评论数:{!--$classtypedata[1]['comment_num']--}
								上级栏目ID:{!--$classtypedata[1]['pid']--}
								上级栏目名:{!--$classtypedata[$classtypedata[1]['pid']]['classname']--}
								上级栏目URL:{!--$classtypedata[$classtypedata[1]['pid']]['url']--}
导航高亮及输出
推荐使用,执行速度快,性能高
//判断是否首页,输出高亮代码
								
  • 首页
  • {!--foreach $classtypedata as $v--} //判断输出可显示的栏目 {!--if($v['isshow']==1)--} //输出一级栏目 {!--if($v['pid']==0)--}
  • //判断是否当前栏目,输出高亮代码 {!--$v['classname']--} //判断是否有下级,输出下级分类 {!--if($v['haschild'])--} {!--/if--}
  • {!--/if--} {!--/if--} {!--/foreach--}
    不推荐使用,但也能实现.【loop遍历】
    {!--loop table="classtype" isshow="1" pid="0" as="v"--}
    								栏目名:{!--$v['classname']--}
    								栏目URL:{!--$v['url']--}
    								栏目简介:{!--$v['description']--}
    								栏目缩略图[banner]:{!--$v['litpic']--}
    								判断是否有下级:
    								{!--if(haschild($classtypedata,$v['id']))--}
    								有下级则输出,输出下级栏目
    								{!--foreach $classtypedata[$v['id']]['children']['list'] as $vv--}
    									栏目名:{!--$vv['classname']--}
    									栏目URL:{!--$vv['url']--}
    									栏目简介:{!--$vv['description']--}
    									栏目缩略图[banner]:{!--$vv['litpic']--}
    									
    								{!--/foreach--}
    								{!--else--}
    								没有下级则输出
    								{!--/if--}
    								{!--/loop--}
    输出下级栏目的方式(两种)
    ①推荐使用.如输出栏目ID为1的下级栏目
    								{!--foreach $classtypedata[1]['children']['list'] as $v--}
    								{!--/foreach--}
    								
    ②不推荐,但是也能输出loop
    								{!--loop table="classtype" pid="2" isshow="1" as="v"}
    								栏目名:{!--$v['classname']--}
    								栏目URL:{!--$v['url']--}
    								栏目简介:{!--$v['description']--}
    								栏目缩略图[banner]:{!--$v['litpic']--}
    								{!--/loop--}
    输出当前栏目下的同级分类
    {!--foreach $classtypedata as $v--}
    							  {!--if($type['pid']==$v['pid'])--}//父类相同,那么他们就是同级了,需要注意的是当前栏目为顶级栏目(pid=0)的时候是输出所有顶级栏目的
    							  栏目名:{!--$v['classname']--}   栏目链接:{!--$v['url']--}
    							  {!--/if--}
    							  {!--/foreach--}
    输出当前栏目下的直系上级同级分类
    {!--foreach $classtypedata as $v--}
    							  {!--if($classtypedata[$type['pid']]['pid']==$v['pid'])--}//父类相同,那么他们就是同级了,需要注意的是当前栏目为顶级栏目(pid=0)的时候是输出所有顶级栏目的
    							  栏目名:{!--$v['classname']--}   栏目链接:{!--$v['url']--}
    							  {!--/if--}
    							  {!--/foreach--}
    栏目详情页输出
    基本信息输出
    ID:{!--$type['id']--}
    								当前位置:{!--$positions--}
    								栏目名:{!--$type['classname']--}
    								模块标识:{!--$type['molds']--}
    								缩略图:{!--$type['litpic']--}
    								当前栏目URL:{!--$type['url']--} 或 {!--$classtypedata[type['id']]['url']--}
    								描述:{!--$type['description']--}
    								关键词:{!--$type['keywords']--}
    								内容:{!--$type['body']--}
    								列表输出条数:{!--$type['lists_num']--}
    								栏目评论数:{!--$type['comment_num']--}
    								上级栏目ID:{!--$type['pid']--}
    								上级栏目名:{!--$classtypedata[$type['pid']]['classname']--}
    								上级栏目URL:{!--$classtypedata[$type['pid']]['url']--}
    栏目列表输出
    {!--foreach $lists as $v--}
    								内容输出规则:{!--$v[字段名]--}
    								标题:{!--$v['title']--}
    								内容链接:{!--$v['url']--}
    								热度/点击量:{!--$v['hits']--}
    								评论数:{!--$v['comment_num']--}
    								所属栏目id:{!--$v['tid']--}
    								所属栏目名:{!--$classtypedata[$v['tid']]['classname']--}
    								所属栏目URL:{!--$classtypedata[$v['tid']]['url']--}
    								简介:{!--$v['description']--}
    								链接:{!--$v['url']--}
    								缩略图:{!--$v['litpic']--}
    								内容:{!--$v['body']--}
    								时间:[了解更多日期格式请查看底部附录]
    									格式:年-月-日:{!--fun date('Y-m-d',$v['addtime'])--}
    									格式:年-月-日 时:分:秒:{!--fun date('Y-m-d H:i:s',$v['addtime'])--}
    									格式:年/月/日:{!--fun date('Y/m/d',$v['addtime'])--}
    								{!--/foreach--}
    栏目分页输出
    默认输出:
    								{!--$pages--}
    								自定义输出:
    								{!--if($listpage['list'])--}//判断是否有分页数据
    								
    					{!--/if--}
    $jz变量可以输出所有内容
    内容页也可以使用$type调用栏目所有内容的哦~
    文章标题:{!--$jz['title']--}
    						 当前位置:{!--$positions--}
    						 文章SEO标题:{!--$jz['seo_title']--}
    						 文章关键词:{!--$jz['keywords']--}
    						 文章点击量:{!--$jz['hits']--}自增操作{!--fun incrData('article',$jz['id'],'hits')--}
    						 文章缩略图:{!--$jz['litpic']--}
    						 文章简介:{!--$jz['description']--}
    						 文章内容:{!--$jz['body']--}
    						 文章作者:{!--fun adminInfo($jz['userid'],'name')--}
    						 文章更新时间:{!--fun date('Y-m-d',$jz['addtime'])--}
    						 其他字段内容统一输出:{!--$v[字段参数]--}
    						 *自定义当前位置:【不要求完全掌握,知道可以遍历输出面包屑导航即可】
    						 {!--loop $positions_data as $v--}
    						 {!--php echo ''.$v['classname'].''/--}
    						 {!--/loop--}
    上一页
    判断是否有上一篇
    							{!--if($aprev)--}
    							上一篇链接:{!--$aprev['url']--}
    							上一篇标题:{!--$aprev['title']--}
    							{!--else--}
    							如果没有上一篇,则输出这里的内容
    							{!--/if--}
    							
    下一页
    判断是否有下一篇
    						{!--if($anext)--}
    							下一篇的链接:{!--$anext['url']--}
    							下一篇的标题:{!--$anext['title']--}
    							{!--else--}
    							如果没有下一篇,则输出这里的内容
    							{!--/if--}
    点赞
    {!--if(checkLikes($type['id'],$jz['id']))--}
    						已点赞
    						{!--else--}
    						点赞
    						{!--/if--}
    相关点赞js
    function likes(tid,id){
    		$.ajax({
    				 url:"{!--fun U('user/likesAction')--}",//请求的url地址
    				 dataType:"json",//返回格式为json
    				 async:true,//请求是否异步,默认为异步,这也是ajax重要特性
    				 data:{tid:tid,id:id,ajax:1},//参数值
    				 type:"POST",//请求方式
    				 beforeSend:function(){
    					//请求前的处理
    					},
    					 success:function(r){
    						if(r.code==0){
    							alert(r.msg);
    							window.location.reload();
    						}else{
    							alert(r.msg);
    						}
    							
    					},
    					 complete:function(){
    					//请求完成的处理
    					},
    					 error:function(){
    					//请求出错处理
    						alert('网络错误');
    					}
    
    						
    				
    			})
    	}
    收藏
    {!--if(checkCollect($type['id'],$jz['id']))--}
    						已收藏
    						{!--else--}
    						收藏
    						{!--/if--}
    相关收藏js
    function collect(tid,id){
    		$.ajax({
    				 url:"{!--fun U('user/collectAction')--}",//请求的url地址
    				 dataType:"json",//返回格式为json
    				 async:true,//请求是否异步,默认为异步,这也是ajax重要特性
    				 data:{tid:tid,id:id,ajax:1},//参数值
    				 type:"POST",//请求方式
    				 beforeSend:function(){
    					//请求前的处理
    					},
    					 success:function(r){
    						if(r.code==0){
    							alert(r.msg);
    							window.location.reload();
    						}else{
    							alert(r.msg);
    						}
    							
    					},
    					 complete:function(){
    					//请求完成的处理
    					},
    					 error:function(){
    					//请求出错处理
    						alert('网络错误');
    					}
    
    						
    				
    			})
    	}
    $jz变量可以输出所有内容
    内容页也可以使用$type调用栏目所有内容的哦~
    商品标题:{!--$jz['title']--}
    						 当前位置:{!--$positions--}
    						 商品SEO标题:{!--$jz['seo_title']--}
    						 商品关键词:{!--$jz['keywords']--}
    						 商品点击量:{!--$jz['hits']--}自增操作{!--fun incrData('product',$jz['id'],'hits')--}
    						 商品主图:{!--$jz['litpic']--}
    						 商品价格:{!--$jz['price']--}
    						 商品库存:{!--$jz['stock_num']--}
    						 商品简介:{!--$jz['description']--}
    						 商品内容:{!--$jz['body']--}
    						 商品上传管理员:{!--fun adminInfo($jz['userid'],'name')--}
    						 商品更新时间:{!--fun date('Y-m-d',$jz['addtime'])--}
    						 其他字段内容统一输出:{!--$v[字段参数]--}
    						 *自定义当前位置:【不要求完全掌握,知道可以遍历输出面包屑导航即可】
    						 {!--loop $position_data as $v--}
    						 {!--php echo ''.$v['classname'].''/--}
    						 {!--/loop--}
    商品图集
    {!--php $pictures = explode('||',$jz['pictures'])/--}
    									{!--foreach $pictures as $v--}
    									{!--if($v!='')--}
    									图片链接:{!--$v--}	
    									{!--/if--}
    									{!--/foreach--}
    商品属性
    {!--php $product_fields = get_fields_show($jz['tid'],$type['molds'])/--}
    						{!--foreach $product_fields as $v--}
    						属性名:{!--$v['fieldname']--}
    						{!--if($v['fieldtype']==7)--}
    						
    						输出单选值:{!--fun get_key_field_select($jz[$v['field']],$type['molds'],$v['field'])--}
    						{!--else if($v['fieldtype']==8)--}
    						
    						输出多选值,并用空格分隔:{!--fun implode(' ',get_key_field_select($jz[$v['field']],$type['molds'],$v['field']))--}
    						{!--else--}
    						
    						输出原值:{!--$jz[$v['field']]--}
    						{!--/if--}
    						{!--/foreach--}
    点评/星星数【五颗星为满分,评分数为总星数/投票数,点了星星并提交评论才算评分成功】
    {!--php $comment = show_comment($jz['tid'],$jz['id'])/--} {!--php $star_num = $comment['average']/--} {!--if($comment['data'])--} {!--for $i=1;$i<=$star_num;$i++--} {!--/for--} {!--if(round($star_num)!=$star_num)--} {!--/if--} {!--if($star_num<5)--} {!--for $i=1;$i<=(5-$star_num);$i++--} {!--/for--} {!--/if--} {!--$star_num--} - {!--$comment['count']--} 票 {!--else--} 0 - 0 票 {!--/if--}
    加入购物车
    加入购物车JS
    function addcart(tid,id,num){
    								$.ajax({
    									 url:"{!--fun U('user/addcart')--}",//请求的url地址
    									 dataType:"json",//返回格式为json
    									 async:true,//请求是否异步,默认为异步,这也是ajax重要特性
    									 data:{tid:tid,id:id,num:num,ajax:1},//参数值
    									 type:"POST",//请求方式
    									 beforeSend:function(){
    										//请求前的处理
    										},
    										 success:function(r){
    											if(r.code==0){
    												window.location.href=r.url;
    											}else{
    												alert(r.msg);
    											}
    												
    										},
    										 complete:function(){
    										//请求完成的处理
    										},
    										 error:function(){
    										//请求出错处理
    											alert('网络错误');
    										}
    
    											
    									
    								})
    						   }
    						   
    相关产品
    {!--loop table="$type['molds']" notin="id|$jz['id']" limit="3" as="v"--}
    						   notin:表示除当前ID外的产品
    						   {!--/loop--}
    上一个
    判断是否有上一个
    							{!--if($aprev)--}
    							上一个链接:{!--$aprev['url']--}
    							上一个标题:{!--$aprev['title']--}
    							{!--else--}
    							如果没有上一个,则输出这里的内容
    							{!--/if--}
    							
    下一个
    判断是否有下一个
    						{!--if($anext)--}
    							下一个的链接:{!--$anext['url']--}
    							下一个的标题:{!--$anext['title']--}
    							{!--else--}
    							如果没有下一个,则输出这里的内容
    							{!--/if--}
    点赞
    判断是否有点赞
    						{!--if(checkLikes($type['id'],$jz['id']))--}
    						有点赞,则输出这里
    						已点赞
    						{!--else--}
    						没有点赞则输出这里
    						点赞
    						{!--/if--}
    相关点赞js
    function likes(tid,id){
    		$.ajax({
    				 url:"{!--fun U('user/likesAction')--}",//请求的url地址
    				 dataType:"json",//返回格式为json
    				 async:true,//请求是否异步,默认为异步,这也是ajax重要特性
    				 data:{tid:tid,id:id,ajax:1},//参数值
    				 type:"POST",//请求方式
    				 beforeSend:function(){
    					//请求前的处理
    					},
    					 success:function(r){
    						if(r.code==0){
    							alert(r.msg);
    							window.location.reload();
    						}else{
    							alert(r.msg);
    						}
    							
    					},
    					 complete:function(){
    					//请求完成的处理
    					},
    					 error:function(){
    					//请求出错处理
    						alert('网络错误');
    					}
    
    						
    				
    			})
    	}
    收藏
    {!--if(checkCollect($type['id'],$jz['id']))--}
    						已收藏
    						{!--else--}
    						收藏
    						{!--/if--}
    相关收藏js
    function collect(tid,id){
    		$.ajax({
    				 url:"{!--fun U('user/collectAction')--}",//请求的url地址
    				 dataType:"json",//返回格式为json
    				 async:true,//请求是否异步,默认为异步,这也是ajax重要特性
    				 data:{tid:tid,id:id,ajax:1},//参数值
    				 type:"POST",//请求方式
    				 beforeSend:function(){
    					//请求前的处理
    					},
    					 success:function(r){
    						if(r.code==0){
    							alert(r.msg);
    							window.location.reload();
    						}else{
    							alert(r.msg);
    						}
    							
    					},
    					 complete:function(){
    					//请求完成的处理
    					},
    					 error:function(){
    					//请求出错处理
    						alert('网络错误');
    					}
    
    						
    				
    			})
    	}
    {!--loop table="links" isshow="1" orderby="orders desc" as="v"--}
    							 链接名:{!--$v['title']--}
    							 链接URL:{!--$v['url']--}
    							 {!--/loop--}
    轮播图分类输出
    {!--loop table="collect_type" as="v"--}
    							 轮播图分类名字:{!--$v['name']--}
    							 创建时间:{!--fun date('Y-m-d',$v['addtime'])--}
    							 {!--/loop--}
    根据分类输出轮播图
    {!--loop table="collect" orderby="orders desc" tid="1" isshow="1" as="v"--}
    							 轮播图标题:{!--$v['title']--}
    							 轮播图描述:{!--$v['description']--}
    							 轮播图图片:{!--$v['litpic']--}
    							 轮播图链接:{!--$v['url']--}
    							 创建时间:{!--fun date('Y-m-d',$v['addtime'])--}
    							 {!--/loop--}
    通用说明
    {!--loop table="表名" tid="栏目ID" limit="输出条数" ispage="值1" isall="值1" notin="字段|值" like="字段|值,字段2|值2" as="变量标签,默认v"--}
    						 这里面输出内容格式:{!--$v[字段参数]--}
    						 {!--$v_n--}:计数,从1开始计(v1.6更改)
    						 table:数据库的表名
    						 tid:对应表中的栏目ID,默认每条数据都会有tid字段,可以根据此值输出对应的栏目数据
    						 limit:输出的条数
    						 ispage:数值可以是非0的任何数字,如果填写了该参数,则loop循环结束后可以调出分页
    						 isall:数值可以是非0的任何数字,如果填写了该参数,则查询数据的时候会调用tid栏目的下级数据(如果没有tid,则忽略)
    						 notin:表示查询除某个字段值意外的数据,如:id|1,表示除id=1以外的数据 as:默认循环变量为小写字母v,可以自定义非数字开头的字母(严格意义上说,不能出现PHP的关键字)
    						 like:表示查询存在某个值的数据,目前仅支持的形式有:[字段|值],[字段1|值1,字段2|值2],[字段|变量] 如:title|测试,表示title中含有‘测试’这个单词的数据。
    						 as:默认循环变量为小写字母v,可以自定义非数字开头的字母(严格意义上说,不能出现PHP的关键字)
    						 {!--/loop--}
    如果有ispage参数,那么loop后面可以调用分页【特别说明:$v是loop里面的as="v"里面的v,要灵活转换】
    默认tpl模板输出:{!--$v_pages--}
    						 总条数:{!--$v_sum--}
    						 总页数:{!--$v_allpage--}
    						 分页列表:{!--$v_listpage--}
    						 分页前一条:{!--$v_prevpage--}
    						 分页后一条:{!--$v_nextpage--}
    						 自定义输出:
    						 
      {!--if($v_listpage['list'])--}
    • {!--foreach $v_listpage['list'] as $ss--}
    • {!--$ss['num']--}
    • {!--/foreach--}
    • {!--/if--}
    举例说明:输出文章栏目ID为2,3,4的所有数据,并输出分页,每页10条,变量为v
    {!--loop table="article" tid="2,3,4" isall="1" ispage="1" limit="10" as="v"--}
    						 标题:{!--$v['title']--}
    						 简介:{!--$v['description']--} 截取20个字:{!--fun newstr($v['description'],40)--}
    						 缩略图:{!--$v['litpic']--}
    						 时间:{!--fun date('Y-m-d',$v['addtime'])--}
    						 内容:{!--$v['body']--}
    						 其余内容按照统一规则:{!--$v[字段参数]--}
    						 {!--/loop--}
    						 输出分页
    						 
      {!--if($v_listpage['list'])--}
    • {!--foreach $v_listpage['list'] as $ss--}
    • {!--$ss['num']--}
    • {!--/foreach--}
    • {!--/if--}
    输出任何一条数据的万能标签【一条数据】
    {!--fun get_info_table($table,$where=null,$str=null)--}
    						$table:表名,模块名,从数据库或模块列表可查看
    						$where:查询条件。如:['id'=>1],表示查询条件为id=1
    						$str:获取字段,默认null,返回数组,如果有对应的字段,则返回查询得到的数据的对应字段值。字段可以从数据库中查看。
    输出任意多条数据的万能标签【多条数据】
    {!--fun get_all_info_table($table,$where=null,$order=null,$limit=null,$field=null)--}
    						$table:表名,模块名,从数据库或模块列表可查看
    						$where:查询条件。如:['id'=>1],表示查询条件为id=1
    						$order:查询排序,默认null,表示按系统排序ID正序。如:'id desc'表示ID倒序,'addtime desc,id desc'表示按最新时间,并且ID倒序
    						$limit:查询条数,默认null,表示查询所有数据。
    						$field:查询字段,默认null,表示可以输出哪些字段。
    IF逻辑判断
    {!--if(判断1)--}
    						//如果判断1为真,则输出这里
    						{!--else if(判断2)--}
    						//如果判断1为假,判断2为真,则输出这里
    						{!--else--}
    						//否则输出这里(判断1、判断2都为假)
    						{!--/if--}
    Foreach循环输出
    {!--foreach $lists as $v--}
    						这里循环输出{!--$v--}对应的参数值
    						{!--/foreach--}
    For循环输出
    {!--for $i=1;$i<5;$i++--}
    						这里输出{!--$i--}从1开始递增
    						{!--/for--}
    使用PHP函数/方法【要求一定要掌握的技能】
    {!--fun 函数--}   如输出当前日期函数:{!--fun date('Y-m-d',time())--}
    通过函数方式获取默认配置参数
    {!--fun webConf(配置参数)--}
    通过函数方式获取自定义配置参数值【只能获取值或者数组】
    {!--fun get_custom(配置参数=null)--}  如果没有输入配置参数,则返回自定义配置数组
    各种端口检测【手机端检测】【微信端检测】
    判断是否为手机端:{!--if(isMobile())--}如果真,这里输出手机端内容{!--/if--}
    						判断是否为微信端:{!--if(isWeixin())--}如果真,这里输出微信端内容{!--/if--}
    各种链接创建【链接生成】
    指定一个模块的一条数据链接生成:{!--fun gourl($id,$htmlurl=null,$molds='article')--}这里的$id指内容ID,$htmlurl指栏目静态链接名,$molds指模块标识
    						指定一个栏目的URL链接:{!--$classtypedata[$id]['url']--}这里的$id指栏目的ID值
    						创建一个自定义URL:{!--fun U($action)--}这里的$action可以是一个方法名,也可以是控制器+方法
    						如:{!--fun U('index')--}则输出当前页面控制器下面的index方法的执行链接
    						如:{!--fun U('Home/index')--}则输出Home控制器下面的index方法的执行链接
    通过函数方式获取文章作者,上传商品管理员信息
    {!--fun adminInfo($str=null)--}默认传入字段参数为null,返回数组
    						{!--fun adminInfo('name')--}管理员姓名
    						{!--fun adminInfo('tel')--}管理员电话
    						{!--fun adminInfo('email')--}管理员邮箱
    字符串截取【默认字符集为UTF-8,且中文为2个字符一个汉字】
    {!--fun newstr($data,20)--}表示截取$data中的前20个字符
    检查后台管理员的某个操作权限
    {!--if( checkAction($action))--}如果真,则执行这里{!--/if--}$action可以是整个模块的控制器名,也可以是单独某个操作名。
    						如:{!--if(checkAction('Article'))--}如果返回真,则只需这里的代码{!--/if--}检查用户对文章模块是否有操作权限。
    						{!--if(checkAction('Article/addarticle'))--}如果返回真,则只需这里的代码{!--/if--}单独检查用户是否有新增文章的权限
    PHP变量输出
    {!--$v--}输出$v变量的值
    模板执行PHP语句【注意中间的空格】
    {!--php 这里写PHP的内容/--}
    模板输出原生标签
    用{!--!------}代替{}
    附录
    时间参数表:
    							格式:年-月-日:{!--fun date('Y-m-d',$v['addtime'])--}
    格式:年-月-日 时:分:秒:{!--fun date('Y-m-d H:i:s',$v['addtime'])--}
    格式:年/月/日:{!--fun date('Y/m/d',$v['addtime'])--}
    							a - "am" 或是 "pm"
    A - "AM" 或是 "PM"
    d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31"
    D - 星期几,三个英文字母; 如: "Fri"
    F - 月份,英文全名; 如: "January"
    h - 12 小时制的小时; 如: "01" 至 "12"
    H - 24 小时制的小时; 如: "00" 至 "23"
    g - 12 小时制的小时,不足二位不补零; 如: "1" 至 12"
    G - 24 小时制的小时,不足二位不补零; 如: "0" 至 "23"
    i - 分钟; 如: "00" 至 "59"
    j - 几日,二位数字,若不足二位不补零; 如: "1" 至 "31"
    l - 星期几,英文全名; 如: "Friday"
    m - 月份,二位数字,若不足二位则在前面补零; 如: "01" 至 "12"
    n - 月份,二位数字,若不足二位则不补零; 如: "1" 至 "12"
    M - 月份,三个英文字母; 如: "Jan"
    s - 秒; 如: "00" 至 "59"
    S - 字尾加英文序数,二个英文字母; 如: "th","nd"
    t - 指定月份的天数; 如: "28" 至 "31"
    U - 总秒数
    w - 数字型的星期几,如: "0" (星期日) 至 "6" (星期六)
    Y - 年,四位数字; 如: "1999"
    y - 年,二位数字; 如: "99"
    z - 一年中的第几天; 如: "0" 至 "365"