65.9K
CodeProject 正在变化。 阅读更多。
Home

计算日期之间的财务天数

starIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

1.00/5 (2投票s)

2006年9月13日

1分钟阅读

viewsIcon

47609

downloadIcon

1051

如何使用金融 360/360 年计算两个日期之间的差值

引言

在某些情况下,对于某些金融工具,两个日期之间的差值需要以特殊的方式计算... 不是基于实际的 365-6 年,而是基于 360 天的金融固定年。这意味着在这种情况下,每个月都有 30 天(30 天 * 12 个月 = 360 天)。执行此计算的函数存在于 Excel 中 (DAYS360),但使用起来不太方便。所以我更喜欢创建我自己的公式...

诀窍是什么?

理解其概念非常容易... 你需要考虑的是一年由 365.2422 天组成。这意味着每 4 年就会发生一次闰年。金融年为 360 天。差值为 5.2422 天。这样你就可以执行正常的日期差值计算,并将结果乘以转换因子,该因子将正常日减少到 360 天一年的日。实际上,计算应该是 5.2422/365=0.985637808219178(转换因子)。

Private Const Days360ConversionFactor As Double = 0.985637808219178

现在你唯一需要做的就是保留计算出的常规日期差值

Dim DifferenceInDaysValue As Double = Me.EndPeriodDate.Value.Subtract(Me.StartPeriodDate.Value).Days

并将其乘以转换因子(可以假定为常数)。

这段代码可以很容易地实现到一个类中,或者更好地实现到一个金融 DLL 中,以提高其可重用性和部署性...

现在 DAYS360 也存在于 Visual Studio .NET 中!!!

¦-D

© . All rights reserved.