今天,鄙人被一个日期控件整了一天,究其原因还是数据库中保存为日期的类型的字段设为了Int(10),导致了越界,结果保存的日期老是1970年1月1日,真是狂汗!!!后来经过细心盘查,终于抓出元凶,吼吼~~
具体方法:
1.日期控件的设置:
<mx:DateField id="ProductMake_txt" yearNavigationEnabled="true"
formatString="YYYY/MM/DD" dayNames="[日,一,二,三,四,五,六]"
monthNames="[一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月]"/>
2.把DateField中选中的时间转换为毫秒数,复制给Model中SCRQ属性,最后保存到数据库中:
u.SCRQ = ProductMake_txt.selectedDate.getTime();
3.将数据库中保存的毫秒数取出,在转化为用户可以接受的形式让DataGrid显示出来:
private function secondChangeDate(s:Number):String
{
var date:Date = new Date();
date.setTime(s);
var str:String = date.getFullYear() + "/" + (date.getMonth()+1)
+ "/" + date.getDate();
return str;
}
4.考虑到数据库中是double类型,而显示似乎要是String才比较方便,所以给Model增
加一个字段SCRQstr,专门用来给DataGrid显示用.
u.SCRQstr = secondChangeDate(datas[i].SCRQ);
最后,被这个弱智问题烦了一天,有点 XXX,不过没有白忙活,最起码又多写了篇文章,希望对遇到类似问题的
大家有所帮助!鞠躬~
具体方法:
1.日期控件的设置:
<mx:DateField id="ProductMake_txt" yearNavigationEnabled="true"
formatString="YYYY/MM/DD" dayNames="[日,一,二,三,四,五,六]"
monthNames="[一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月]"/>
2.把DateField中选中的时间转换为毫秒数,复制给Model中SCRQ属性,最后保存到数据库中:
u.SCRQ = ProductMake_txt.selectedDate.getTime();
3.将数据库中保存的毫秒数取出,在转化为用户可以接受的形式让DataGrid显示出来:
private function secondChangeDate(s:Number):String
{
var date:Date = new Date();
date.setTime(s);
var str:String = date.getFullYear() + "/" + (date.getMonth()+1)
+ "/" + date.getDate();
return str;
}
4.考虑到数据库中是double类型,而显示似乎要是String才比较方便,所以给Model增
加一个字段SCRQstr,专门用来给DataGrid显示用.
u.SCRQstr = secondChangeDate(datas[i].SCRQ);
最后,被这个弱智问题烦了一天,有点 XXX,不过没有白忙活,最起码又多写了篇文章,希望对遇到类似问题的
大家有所帮助!鞠躬~