读书人

FLEX日期相减得有关问题

发布时间: 2013-06-26 14:29:32 作者: rapoo

FLEX日期相减得问题
我数据库里面有两个日期字段d1,d2,保存的时候数值有小时分钟,现在里面有这么一个情况
d1 = 2010-11-17 14:58:24
d2 = 2010-11-18 14:40:27

就上面的两个日期相减,值等于0,百思不得其解,我在减得时候都还把日期格式转换了一下,保证了格式的一致,年月日相减,把时间分钟什么的都去了。。

方法用了N种了,,不知道怎么样相减日期是最正确的,期待。。。。


第一种:
var d1: Date = DateField.stringToDate(DateField.dateToString(startDate, "YYYYMMDD"), "YYYYMMDD");
var d2: Date = DateField.stringToDate(DateField.dateToString(endDate, "YYYYMMDD"), "YYYYMMDD");

var diff:Number=(Number(d2)-Number(d1))/(3600000*24);

return diff;

第2种:
var diff:Number = endDate.getTime() - startDate.getTime();
return Math.round(diff / 86400000);

等等,很多方法,还是不行,,,请大侠指点一下

[解决办法]
第二种方法可行

我估计你是startDate、endDate定义错了~~~~

private function init():void{
var startDate:Date = new Date(2010,10,16,14,58,24);
var endDate:Date = new Date(2010,10,17,14,40,27);

var diff:Number = endDate.getTime() - startDate.getTime();
Alert.show(Math.round(diff/86400000)+"");
}



读书人网 >flex

热点推荐