Tuesday, 10 May 2016

Sorting Date Time in Apex

 public  class assignmentGroup implements Comparable {
       
        public String idVal{get;set;}
        public String userId{get;set;}
        public datetime  lastassignmentdate{get;set;}
        public Decimal miliseconds{get;set;}
        public Decimal timestamp{get;set;}

public Integer  compareTo(Object objToCompare) {
        return Integer.valueOf(timestamp - ((assignmentGroup)objToCompare).timestamp);
           
        }
    }
   



list<assignmentGroup> objassignmentList = new list<assignmentGroup>();

                assignmentGroup obj= new assignmentGroup();
                            obj.idVal=item.id;
                            obj.userId=item.User__c;
                            obj.lastassignmentdate=item.Last_Assignment__c;
                            obj.miliseconds=item.Millisecond__c;
                            if(item.DateTime_In_NanoSeconds__c !=null)
                            {
                                obj.timestamp=item.DateTime_In_NanoSeconds__c;
                            }
                            else
                            {
                                obj.timestamp=obj.lastassignmentdate.getTime();
                            }
                            objassignmentList.add(obj);
  System.debug('>>>>>objassignmentList  before sort'+objassignmentList);

objassignmentList.sort();

System.debug('>>>>>objassignmentList  after sort '+objassignmentList);

 System.debug('>>>>>last Assignment date time and milli seconds' + objassignmentList[0].lastassignmentdate + ' Milliseconds '+ objassignmentList[0].miliseconds);


No comments:

Post a Comment