2012-03-30 4 views
1

날짜에 2 개의 datetime 필드의 차이를 어떻게 찾을 수 있습니까?정점에있는 날짜/시간 필드의 날짜의 시차

나는 이것에 대한 문서에서 아무것도 찾을 수 없습니다. 나는 몇 시간을 더할 수있는 방법이 있지만 날짜를 알 수 없다는 것을 알 수 있습니다.

내가 생각할 수있는 한 가지 방법은 datof와 valueof를 사용하는 datetime으로 두 필드를 변환하고 날짜 함수를 사용하는 것입니다.

integer Days__c = Date.today().daysBetween(date.valueof(datetimefield__c)); 

다른 유용한 옵션이 있습니까?

+1

'datetime DayDifference = Date.today() - date.valueof (datetimefield__c)'를 사용해 보셨습니까? 나는 이전에 차이를 성공적으로 뺀 것으로 생각한다. – VictorKilo

답변

2

이 작업을 수행 할 수 있습니다 :

integer Days = Integer.valueOf((Date2.getTime() - Date1.getTime())/(1000*60*60*24)); 

이 후, 다른 하나를 빼 밀리 초에 각 날짜를 변환 할 일의 정수로 변환합니다. 또는 십진수로 변환 할 수 있습니다.

0
Datetime startDate = system.now();// Start date 
Datetime endDate = system.now().addHours(60);//End Date 

Integer noOfDays = startDate.Date().daysBetween(endDate.Date()); 
System.debug('No Of Days : '+noOfDays); 

Datetime sameDayEndDate = startDate.addDays(noOfDays); 
System.debug('Same Day : '+sameDayEndDate); 

Decimal decHours = ((endDate.getTime())/1000/60/60) - ((sameDayEndDate.getTime())/1000/60/60); 
System.debug('Dec Hours : '+decHours); 

decimal decMinutes = ((endDate.getTime())/1000/60) - ((sameDayEndDate.getTime())/1000/60); 
System.debug('Minutes : '+decMinutes);