Tuesday, May 29, 2012

Calculate Hour Minute In Apex Salesforce

Hi ,

As I had gone to search that how to separate hour and minute in apex , I was trying to search any method which could be return after decimal value so that I could calculate all values after decimal place as total number of minute and then extract the hour from total number of minute divide by 60 and separate again hour and minute !

Then I wrote some logic which is explained below !

We have a class contains two methods returnCheckDecimalValueForMin(string val) and returnCheckDecimalValueForHour(string hour) .

public class className {
public string returnCheckDecimalValueForMin(string dayVal){                      
                string[] ss = new string[]{};
                if(dayVal !='' && dayVal!=null){
                        if(dayVal.contains('.')){                         
                         string sss = dayVal.replace('.',',');
                         ss = sss.split(',');              
                         return ss[1] ;                                         
                        }else {
                                return dayVal ;
                        }
                        if(ss.size()>0){
                                return ss[1];
                        }else {return '';}
                }else { return '';}                                           
        }
       
        public string returnCheckDecimalValueForHour(string dayVal){
                string[] ss = new string[]{};
                if(dayVal !='' && dayVal!=null){
                        if(dayVal.contains('.')){                         
                         string sss = dayVal.replace('.',',');
                         ss = sss.split(',');           
                         return ss[0] ;                                                   
                        }else {                                
                                return dayVal ;
                        }                      
                }else { return '';}                                    
        }
}

Now let say we have a list of decimal values like 34.46 , 34.56 , 45.57

so what we need to do actually to separate
34+34+45 =   113

46+56+67 =  169

integer i = math.mod(169,60);

integer returnHr = 169/60 ;

Integer TotalHours = 113 + returnHr.intvalue();

Integer remainingMinutes = 169 - 60*returnHr.intvalue() ;                                                                                                                                  

No comments:

Post a Comment