6个版本

使用旧的Rust 2015

0.1.5 2018年11月9日
0.1.4 2018年9月21日

#1004解析器实现

Download history 7243/week @ 2024-04-06 5853/week @ 2024-04-13 6242/week @ 2024-04-20 5909/week @ 2024-04-27 5001/week @ 2024-05-04 6766/week @ 2024-05-11 4811/week @ 2024-05-18 4770/week @ 2024-05-25 6717/week @ 2024-06-01 5771/week @ 2024-06-08 6168/week @ 2024-06-15 3891/week @ 2024-06-22 4932/week @ 2024-06-29 5247/week @ 2024-07-06 5315/week @ 2024-07-13 5436/week @ 2024-07-20

每月21,250次下载
用于 15 包(12个直接使用)

自定义许可

47KB
1K SLoC

humanize-rs

Crates.io Docs

这个库旨在将可读性字符串转换为特定类型。

主要用于解析配置文件。

用法

  1. 将此库作为依赖项添加
[dependencies]
humanize-rs = "0.1"
  1. 添加crate引用
extern crate humanize_rs;

示例

字节

use humanize_rs::bytes::{Bytes, Unit};

let gigabytes1 = Bytes::new(1, Unit::GiByte);
let gigabytes2 = "1 GiB".parse::<Bytes>();
assert_eq!(gigabytes1, gigabytes2);
assert_eq!(gigabytes2.unwrap().size(), 1 << 30);

持续时间

use humanize_rs::duration::parse;
use std::time::Duration;

assert_eq!(parse("1h 30m 71s"), Ok(Duration::from_secs(60 * 90 + 71)));

RFC3339日期时间

use humanize_rs::time::{Time, TimeZone};

assert_eq!(
    "2018-09-21T16:56:44.234867232+08:00".parse::<Time>(),
    Ok(Time::from_timetuple(
        2018,
        9,
        21,
        16,
        56,
        44,
        234867232,
        TimeZone::new(8).unwrap(),
    ).unwrap())
);

贡献

欢迎提交任何PR或问题。

无运行时依赖