1

2つの日時フィールドの日数の違いを見つけるにはどうすればよいですか?

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

私が考えることができる1つの方法は、valueofを使用して両方のフィールドを日時に変換し、その間の日付関数を使用することです。

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

他にもっと良いオプションはありますか?

4

2 に答える 2

4

あなたはこれを行うことができます:

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

これにより、各日付がミリ秒に変換され、一方が他方から減算されてから、日数の整数に変換されます。または小数日に変換できます。

于 2012-04-04T19:52:51.133 に答える
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);
于 2017-07-21T17:09:55.087 に答える