1

如何找到 2 个日期时间字段的天数差异?

我在此文档上找不到任何内容。我可以看到有一些方法可以增加小时数、天数,但在获取日期差异时找不到任何东西。

我能想到的一种方法是使用 valueof 将两个字段都转换为 datetime 并使用 date 函数 daysbetween。

    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 回答