【发布时间】:2009-04-20 15:41:25
【问题描述】:
要求:
- 计算月数 在两个日期之间:receiveDate 和 到期日。
- 既乐观又悲观 需要计算
假设:
- dueDate 将始终是该月的最后一天。
我已经算出了悲观的计算方式(意思是逾期一天算一整月:
if(receiveDate > dueDate)
receiveDate.Month - dueDate.Month + (receiveDate.Year - dueDate.Year) * 12;
在互联网上进行搜索发现了几个类似的例子来证实这一点。
现在,我的直觉告诉我,乐观的计算结果将是相同的减去一个月,但由于某种原因,它感觉不对。我是在正确的轨道上还是我错过了什么?
【问题讨论】:
-
不理解“乐观/悲观”的东西。两个日期之间的月数是否定义为“两个日期之间有一天或多天的月数,包括在内”?在这种情况下,不会只有一个正确答案。
-
这真的取决于您如何看待部分月份。在一种情况下,部分月份会被忽略,而在另一种情况下,它们会被视为整月。