Dedecms自定义表单时间时间戳值类型的转换方法

在给客户用织梦dedecms做二次开发的时候,自定义表单的功能会经常用到,比如比较简单的留言,订单咨询,意见反馈等等,是我们收集访客信息时经常需要用到的,而这些都可以通过dedecms的自定义表单功能轻松实现。我们在收集表单信息的时候往往需要了解访客提交数据的时间,Dedecms自定义表单的时间类型字段在后台显示的值为时间戳,我们要想办法将时间戳转化成我们能看懂的时间格式。



 
解决办法一:
修改/dede/templets/diy_list.htm,在第42行else前面加上以下代码:
PHP
else if($fielddata[1]==’datetime’)
{
$fields[$field] = GetDateTimeMk($fields[$field]);
}



 
这样就能将时间戳转换成我们能读懂的时间日期格式了,另外前台由于不需要显示用户提交信息的当前时间,可以通过css将其隐藏掉。
解决办法二:
不通过时间类型的字段,用单行文本框+JS来实现,这样做就不用转化时间戳,而是直接通过JS获取时间值以字符串的形式写入。
在自定义表单增加一个文本框字段,例如字段名称为:subtime,在前台调用时增加相应的JS

 
PHP
<td style=”display:none;”><input type=”text” name=”subtime” id=”subtime” value=””>
<script type=”text/javascript”>
                    window.onload = function(){
                    var nowDate = new Date();
                    var str = nowDate.getFullYear()+”-“+(nowDate.getMonth() + 1)+”-“+nowDate.getDate()+” “+nowDate.getHours()+”:”+nowDate.getMinutes()+”:”+nowDate.getSeconds();
                    document.getElementById(“subtime”).value=str;
                    }
</script>
</td>



 
如果是其他自定义字段名称,记得将input里面的name与id值相应修改。