9 个版本

0.2.0 2023年5月7日
0.1.7 2023年4月28日
0.1.6 2023年1月14日
0.1.4 2022年11月3日
0.1.1 2022年4月22日

#307日期和时间

Download history 2/week @ 2024-03-12 33/week @ 2024-04-02 200/week @ 2024-04-30 6/week @ 2024-05-21 4/week @ 2024-05-28

80 个月下载

MIT/Apache

15KB
221

yearfrac: Rust 的年分数

经过测试,与 Excel 的 YEARFRAC 函数匹配,并且随着时间的推移而超越。我们支持 Excel 的所有 5 种方法:nasd360 act/act act360 act365 eur360

用法

将以下内容放入您的 Cargo.toml

[dependencies]
yearfrac = {version="*", features=['serde', 'openapi']}

示例

use yearfrac::DayCountConvention;
use chrono::{NaiveDate, Datelike};
let start = NaiveDate::from_ymd(1978, 2, 28);
let end = NaiveDate::from_ymd(2020, 5, 17);
let yf = DayCountConvention::from_int(0).unwrap()
               .yearfrac(start, end);
assert!((yf - 42.21388888889).abs() < 1e-9);

let yf = DayCountConvention::from_str("act/act").unwrap()
            .yearfrac(start, end);
assert!((yf - 42.21424933147).abs() < 1e-9);

use yearfrac::is_leap_year;
assert_eq!(is_leap_year(start.year()) as i32, 0)

let yf = DayCountConvention::US30360.yearfrac_signed(end, start);
assert!((yf + 42.21388888889).abs() < 1e-9);

致谢

最终版

Python FRTB 用户指南

依赖项

~1.3–2.3MB
~43K SLoC