DEDECMS自定义表单提交的时间给转换成unix时间戳(一段数字),我们管理员在后台需要看到是日期,而不是那一行数字,下面方法可以解决这个问题,dedecms 5.6和5.7都可以,打开dede/templets/diy_list.htm,在42行左右( 其它附件</a>";}下一行),再加一个IF判断,代码如下:
else if($fielddata[1]=='datetime')
{
$fields[$field] = GetDateMk($fields[$field]);
}
上面的代码结果是年月日,如果想要有时分秒,代码如下
else if($fielddata[1]=='datetime')
{
$fields[$field] = GetDateTimeMk($fields[$field]);
}
如果想知道表单是什么时候添加的,可以加入如下代码
<input name="timesj" type="hidden" value="" type="text" id="timesj" style="width:250px" class="intxt" />
<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("timesj").value=str;
}
</script>
或者用这个代码也可以
<input type='hidden' name='timesj' id='timesj'/>
<script language="javascript" type="text/javascript">
var wdtime= new Date();
document.getElementById("timesj").value=wdtime.toLocaleString();
</script>
如果要在前台显示正确的时间,用同样的方法修改/templets/plus/list_diyform.htm就可以了