如何找到 2 个日期时间字段的天数差异?
我在此文档上找不到任何内容。我可以看到有一些方法可以增加小时数、天数,但在获取日期差异时找不到任何东西。
我能想到的一种方法是使用 valueof 将两个字段都转换为 datetime 并使用 date 函数 daysbetween。
integer Days__c = Date.today().daysBetween(date.valueof(datetimefield__c));
还有其他更好的选择吗?
如何找到 2 个日期时间字段的天数差异?
我在此文档上找不到任何内容。我可以看到有一些方法可以增加小时数、天数,但在获取日期差异时找不到任何东西。
我能想到的一种方法是使用 valueof 将两个字段都转换为 datetime 并使用 date 函数 daysbetween。
integer Days__c = Date.today().daysBetween(date.valueof(datetimefield__c));
还有其他更好的选择吗?
你可以这样做:
integer Days = Integer.valueOf((Date2.getTime() - Date1.getTime())/(1000*60*60*24));
这会将每个日期转换为毫秒,从另一个中减去一个,然后将其转换为整数天。或者可以转换成小数天。
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);