使用Julia,我想找到t2和t1这两个时间点之间的周期,其中t1和t2的格式都是"y-m-d";。我可以在几天内得到这个值,但我想把它隐藏几年:
date_format = DateFormat("y-m-d")
age_days = Date(t2, date_format) - Date(t1, date_format)
age_years = Dates.Year(age_days)
以上始终返回一个错误。我知道我可以只做Dates.value(age_days(/365.25,但有没有办法利用内置函数来做到这一点?
此功能可在DayCounts.jl
:中找到
julia> using Dates, DayCounts
julia> d1=Date("2020-02-14", dateformat"y-m-d");
julia> d2=Date("2021-02-15", dateformat"y-m-d");
julia> yearfrac(d1,d2,DayCounts.ActualActualISDA())
1.003069091997904
棘手的部分是决定在计算这些值时使用什么作为分子和分母。上述代码使用了2006年ISDA定义,§4.16(b(方法:
(# of days in standard year)/365 + (# of days in leap year)/366
还有许多其他实现,它们似乎都在该库中实现。
请注意,这是我上一篇文章的另一个答案:Julia/Dates:convert a timespan from";天";至";年;或";Float64〃;这可能是一场更好的比赛。