16 个版本 (4 个稳定版)
1.0.12 | 2021年7月4日 |
---|---|
0.1.47 | 2021年7月4日 |
#242 在 日期和时间
每月 下载 43 次
用于 lib-todoist
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