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