У меня есть два поля dateTime, мне нужно получить количество дней и часов, которые истекли. Это лучшее, что я могу сделать, но теперь я получаю некоторые ошибки.Получите дни и часы между двумя датами в десятичном формате
Heres ошибка
System.TypeException: Invalid десятичное: 0.-22
Если первая дата 22/09/2016 12:30, а второй 24/09/2016 14:00 Я хотел бы, что результаты будут 2,1
public static Decimal getTimeDifference(Datetime now, Datetime endTime){
if(now != null && endTime != null){
Long dt1Long = endTime.getTime();
Long dt2Long = now.getTime();
Long milliseconds = dt2Long - dt1Long;
Long seconds = milliseconds/1000;
Long minutes = seconds/60;
Long hours = minutes/60;
Long days1 = hours/24;
Long dt1Long2 = endTime.addDays((Integer)days1).getTime();
Long dt2Long2 = now.getTime();
Long milliseconds2 = dt2Long2 - dt1Long2;
Long seconds2 = milliseconds2/1000;
Long minutes2 = seconds2/60;
Long hours2 = minutes2/60;
Long days2 = hours2/24;
return Decimal.valueOf(days1 + '.' + hours2);
} else {
return null;
}
}
Это был дан ответ здесь .. http://salesforce.stackexchange.com/questions/5354/сут-между-два-DateTime-ценность-исключая-выходные – EricSSH