日期:2014-05-16  浏览次数:20721 次

extjs datefield 值“web apr 6 00:00:00 UTC+0800 2005”转换为“2005-06-10”
Extjs中DateField控件的日期数据转换成字符串型提交到后台,如:一个DateField要提交的值是“web apr 6 00:00:00 UTC+0800 2005”,我想在js文件中把他转换成字符串”1905-04-20“后再向后台提交,不知怎么实现。 
请高手指教,不胜感激!!
------解决方案--------------------
这是我写的一个格式化时间的方法,你直接调用啊

/**
 * 功能说明:格式化JSON日期时间
 * 作    者:haplant
 * @param value 需要格式化的JSON日期时间
 * @param format 格式化格式(如"Y-m-d H:i:s")
 */
FormatTime=function(value,format){
var date = new Date();
date.setYear((value.year) + 1900);
date.setMonth(value.month);
date.setDate(value.date);
date.setHours(value.hours);
date.setMinutes(value.minutes);
date.setSeconds(value.seconds);
return date.format(format);
}


FormatTime("web apr 6 00:00:00 UTC+0800 2005","Y-m-d");
看看可以不?(我这是java+jsp测试通过)
------解决方案--------------------
{dataIndex:'indate', header:'入库日期', width:200,sortable:true, renderer: Ext.util.Format.dateRenderer('Y-m-d')}

------解决方案--------------------
new Ext.form.DataField({
      format :'Y-m-d'
      ...
});
------解决方案--------------------
我寫的方法
grid.on("afteredit", function(obj){
editMedolRelation(obj,grid,statu);
});

function editMedolRelation(obj,grid,statu)
{
var r = obj.record; //获取被修改的行
var l = obj.field; //获取被修改的列

var id = r.get("die_struc_id");
var lie = r.get(l);

if(l=='validate1'
------解决方案--------------------
l=='validate2')
{
lie =lie.dateFormat('Y-m-d');
}

Ext.Ajax.request({
url: 'ASPX/ModelRelation.aspx?action=edit',
params: "id=" + id + "&column_name=" + l + '&value=' + lie,
success: function(response) {
Ext.Msg.alert('信息', '修改成功');
grid.getStore().reload();
}
});
}

------解决方案--------------------
new Ext.form.DataField({ 
      format :'Y-m-d' 
      ... 
});
这种写法是可以的
------解决方案--------------------
new Ext.form.DateField({
      fieldLabel : "请输入日期",
      format : "Y-m-d",
      width : 150,
      name : "date",
      value : new Date()
 })
------解决方案--------------------
引用:
{dataIndex:'indate', header:'入库日期', width:200,sortable:true, renderer: Ext.util.Format.dateRenderer('Y-m-d')}


這個方法行得  
------解决方案--------------------
Ext.util.Format.date(Ext.getCmp("控件ID").getValue(),'Y-m-d')
这个是ajax方式提交用的,可以更改显示格式
还可以像四楼那样在定义控件的时候定义值格式