#date-time #chrono #time #date #humanize #arrow

chrono-humanize

人性化的时间表达式 - 类似于Python arrow.humanize

18个版本

0.2.3 2023年7月22日
0.2.2 2022年8月17日
0.2.1 2021年4月27日
0.1.2 2021年2月2日
0.0.6 2016年7月21日

#15 in 日期和时间

Download history 33249/week @ 2024-03-31 32339/week @ 2024-04-07 33129/week @ 2024-04-14 34510/week @ 2024-04-21 31969/week @ 2024-04-28 30301/week @ 2024-05-05 31300/week @ 2024-05-12 23579/week @ 2024-05-19 27392/week @ 2024-05-26 29787/week @ 2024-06-02 30185/week @ 2024-06-09 28097/week @ 2024-06-16 27687/week @ 2024-06-23 24262/week @ 2024-06-30 25994/week @ 2024-07-07 24486/week @ 2024-07-14

104,083 每月下载量
用于 426 个Crate (62 直接)

MIT/Apache

18KB
332

Chrono Humanize - 使您的文本时间表示更人性化

构建状态

分支 状态
master Build Status
develop Build Status

快速开始

use chrono::{Local, Duration};
use chrono_humanize::HumanTime;

let dt = Local::now() + Duration::days(35);
let ht = HumanTime::from(dt);
let english = format!("{}", ht);
assert_eq!("in a month", english);

lib.rs:

人类语言中chrono对象的表示

快速开始

HumanTime 对象由chrono对象创建,如 chrono::DateTimechrono::Duration

示例

将当前时间转换为 Local::now()HumanTime

let dt = chrono::Local::now();
let ht = chrono_humanize::HumanTime::from(dt);

assert_eq!("now", format!("{}", ht));
let dt = chrono::Local::now() - chrono::Duration::minutes(58);
let ht = chrono_humanize::HumanTime::from(dt);

assert_eq!("an hour ago", format!("{}", ht));

为了完全控制文本表示,请使用 HumanTime::to_text_en()

use chrono::Duration;
use chrono_humanize::{Accuracy, HumanTime, Tense};

let dt = Duration::days(45);
let ht = HumanTime::from(dt);

assert_eq!("a month", ht.to_text_en(Accuracy::Rough, Tense::Present));
assert_eq!("1 month, 2 weeks and 1 day", ht.to_text_en(Accuracy::Precise, Tense::Present));

依赖关系

~1–6.5MB
~27K SLoC