我正在尝试使用以下日期对ArrayCollection
进行排序,并获得意外结果。
14-Apr-1980
01-Feb-1975
30-Dec-1977
27-Oct-1968
我正在使用以下代码进行排序,
private function sortDate(obj1:Object, obj2:Object):int
{
var d1:Number = (new Date(Date.parse(obj1.date))).getTime();
var d2:Number = (new Date(Date.parse(obj2.date))).getTime();
if(d1 < d2)
{
return -1;
}
else if(d1 == d2)
{
return 0;
}
return 1;
}
它被称为,
<mx:AdvancedDataGridColumn dataField="dob"
headerText="Date of birth:"
sortCompareFunction="sortDate"
dataTipFunction="dateFormat" />
</mx:columns>
结果即将到来,
27-Oct-1968
01-Feb-1975
14-Apr-1980
30-Dec-1977
我错过了什么?
(注意:AdvancedDataGrid
中的日期格式为DD-MMM-YYYY
)
答案 0 :(得分:0)
将日期分隔符从连字符(-
)更改为斜杠(/
)或space
。并确保sortableColumns
的{{1}}属性为AdvancedDataGrid
来自Date.parse()
方法的livedocs页面。
年月日可以用正斜杠(
true
)或空格分隔,但绝不能用短划线(/
)分隔。