今天用到extjs 的datefield,往后台传值,接收的是Thu Sep 2 00:00:00 UTC 0800 2010,而我想要的是2010/09/02。
经过我搜索,终于找到解决方法了,原来是在页面取值时出了问题,不能用ext.getcom().getvalue,应该用ext.getcmp().getvalue.format('Y/m/d');赶紧试试吧! 最后别忘了给datafield的vaLue赋值,没有初始值就format会报错。
当然,在页面显示时的格式在你的datefield里加上 format:'Y/m/d‘。
如果正确,请留个言,嘿嘿。
假如数据库存的是2000908,想在页面显示为2000-9-8,只需在页面写一个方法(字符串截取)
function timeConvert(oldTime) {
var str = "";
if (oldTime.substring(4, 5) == '0')
str = oldTime.substring(0, 4) + "-" + oldTime.substring(5, 6) + "-"
+ oldTime.substring(6, 8);
else
str = oldTime.substring(0, 4) + "-" + oldTime.substring(4, 6) + "-"
+ oldTime.substring(6, 8);
return str;
};
页面grid显示:
dataIndex : date,
renderer : timeConvert