#elapsed-time #date-time #chrono #elapsed #due #duration

chrono_elapsed

chrono 的简单扩展。回答类似以下问题:自日期 y 以来过去了多少时间?距离日期 x 还有多少时间?

16 个版本 (4 个稳定版)

1.0.12 2021年7月4日
0.1.47 2021年7月4日

#242日期和时间

每月 下载 43
用于 lib-todoist

MIT/Apache

24KB
383 代码行

chrono_elapsed

https://crates.io/crates/chrono_elapsed.

chrono 的扩展,用于报告到期日期。我之所以编写这个,是因为我在 Rust 中构建了一个 CLI,并选择将 Todoist 带到终端,因为我主要用它来处理待办事项,并希望将其更紧密地集成到我的开发工作流程中。

我个人只使用它来处理近期或刚刚过去的时间,因此它目前无法准确处理日历中的怪异现象,如二月。这里做了很多假设,所以如果你对获取两个日期之间时间差的准确数据感兴趣,这个库目前不适合你(希望将来会。)

示例

let dt_str = "1993-10-30T04:20:00Z";
let past_dt = dt_str
    .parse::<DateTime<Local>>()
    .expect("failed to parse str as `DateTime<Local>`");
let elapsed = Elapsed::new(past_dt);
println!("{}", elapsed);

将打印:30y 1m。非常不准确,但你可以理解其概念。当日期更接近现在时,变得更加准确。例如,刚刚过去的一个更接近的日期将打印类似 4min 46sec 的内容。

let now = Local::now();
let recent_dt = now - Duration::minutes(20);
let elapsed = Elapsed::new(recent_dt);
println!("{}", elapsed)

依赖项

~1.3–1.8MB
~25K SLoC