flex 日期转换 灵异事件

private function data2String():String{
if(data){
var year:Number = date.getFullYear();
var month:Number = date.getMonth()+1;
var day:Number = date.getDate();
if(month < 10){
month = "0"+month.toString();
//month = "0"+month
}
if(day < 10){
day = "0"+day.toString();
//day = "0"+day;
}
return year+"-"+month+"-"+day;
}else{return null;}
}
上面是一个自己写的日期转换方法,之前是没有 两个 if 语句的一切正常。当我加上两个日期函数后 编译器死活不编译,而且不会报错,把swf文件删掉后 也编译不出来了,当我把两个 if 语句删掉后 又可以正常编译了。我想问的是 我加的两个 if 语句是否有错 错在那里!小弟不胜感激!

1个回答

肯定是编译且报错了:
month = "0"+month.toString();
day = "0"+day.toString();

month跟day都是 Number 你给他赋值为 string 肯定报错!
用parseInt
month =parseInt( "0"+month.toString());

顺便提一句,flex提供现成的日期转换,不必自己实现;DateFormatter

立即提问