0

日付と時刻で並べ替えたい ArrayCollection があります (同じ日付の項目が 2 つある場合)。日付順 (YYYY/MM/DD) で並べ替えることができましたが、時間のビットがわかりません。時間は 24 時間形式であるため、コードは基本的に日付と同じになります。

これは、日付の並べ替えに使用したコードです。正常に動作します。

import mx.collections.SortField;
import mx.collections.Sort;

private function sort():void  
{
var dataSortField:SortField = new SortField();
dataSortField.name = "date";

var arrayDataSort:Sort = new Sort();
arrayDataSort.fields = [dataSortField];

reminderXMLArray.sort = arrayDataSort;
reminderXMLArray.refresh();
}
4

2 に答える 2

2

このコードを使用して、日付と時刻で並べ替えることができます。

private function sort():void
{
    var dataSortField:SortField = new SortField();
    dataSortField.name = "date";
    dataSortField.compareFunction = function (a:Object, b:Object) : int {
        var na:Number = a.date.getTime();
        var nb:Number = b.date.getTime();

        if (na < nb)
            return -1;

        if (na > nb)
            return 1;

        return 0;
    };

    var arrayDataSort:Sort = new Sort();
    arrayDataSort.fields = [dataSortField];

    reminderXMLArray.sort = arrayDataSort;
    reminderXMLArray.refresh();
}
于 2012-09-13T08:41:51.417 に答える