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

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“后再向后台提交,不知怎么实现。 
请高手指教,不胜感激!!

------解决方案--------------------
这是我写的一个格式化时间的方法,你直接调用啊
JScript code

/**
 * 功能说明:格式化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);
}

------解决方案--------------------
{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方式提交用的,可以更改显示格式
还可以像四楼那样在定义控件的时候定义值格式