2012-03-30 10 views
1

2日間フィールドの違いを日中に見つける方法はありますか?頂点のdatetimeフィールドの日数の日付の相違

これについては、ドキュメントで何も見つかりませんでした。私は時間、日を追加する方法があることがわかりますが、日付を取得することで何も見つけることができません。

私が考えることができる1つの方法は、valueofを使用して両方のフィールドをdatetimeに変換し、date関数のdays betweenを使用することです。

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)); 

これは、その後、他から1を減算、ミリ秒単位に各日付を変換します日間の整数に変換します。または10進数の日に変換することができます。

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); 
関連する問題