#时间 #毫秒 #转换 #转换

ms2

A Rust 库,用于为 Rust 复制 TypeScript 的 ms 包

7 个版本

0.2.0 2024 年 6 月 7 日
0.1.5 2024 年 6 月 3 日

#483 in 算法

MIT 许可证

10KB
162

ms2-rs ⏱️

ms2 是一个 Rust 库,用于为 Rust 复制 TypeScript 的 ms 包。它可以帮助您将毫秒转换为可读的时间字符串,反之亦然。如果您需要在 Rust 项目中处理时间,ms2 会使其变得简单。

功能

  • ⏳ 将时间字符串(如 "2 天")转换为毫秒。
  • ⏱️ 将毫秒转换为时间字符串。
  • ⏲️ 支持常见的单位,如秒、分钟、小时和天。
  • 👍 基于 TypeScript 的 ms 包的简单易用的 API。
  • 🍒 可以导入 formatparse 以使用显式和类型安全的方法

用法

将 ms2 添加到您的 Cargo.toml

[dependencies]
ms2 = "0.2.0"

然后在您的代码中使用它

use ms2::ms;

fn main() {
    let ms_output = ms("2 days").unwrap();
    match ms_output {
        ms2::MsOutput::Milliseconds(ms) => println!("{}", ms), // Outputs: 172800000
        _ => panic!("Expected milliseconds"),
    }
}

使用 ms2 和整数输入将它们转换为可读的字符串

use ms2::ms;

fn main() {
    let time_str_output = ms(172800000).unwrap();
    match time_str_output {
        ms2::MsOutput::Str(time_str) => println!("{}", time_str), // Outputs: "2 days"
        _ => panic!("Expected string"),
    }
}

使用便利方法 unwrap_numberunwrap_str

use ms2::{ms, UnwrapMsOutput};

fn main() {
    let ms_value = ms("1 hour").unwrap_number();
    println!("{}", ms_value); // Outputs: 3600000

    let time_str = ms(3600000).unwrap_str();
    println!("{}", time_str); // Outputs: "1 hour"    
}

使用原始的显式和类型安全方法 formatparse

use ms2::{format, parse};

fn main() {
    println!("parse(\"60 seconds\") = {}", parse("60 seconds").unwrap()); // parse("60 seconds") = 60000
    println!("format(172_800_000) = {}", format(172_800_000)); // format(172_800_000) = 2 days
}

支持负值

use ms2::{format, parse};

fn main() {
    println!("parse(\"-60 seconds\") = {}", parse("-60 seconds").unwrap()); // parse("-60 seconds") = -60000
    println!("format(-172_800_000) = {}", format(-172_800_000)); // format(-172_800_000) = -2 days
}

贡献

欢迎贡献!请查看 CONTRIBUTING.md 文件以获取更多信息。

许可证

本项目采用 MIT 许可证。有关详细信息,请参阅 LICENSE 文件。

依赖

~0.4–1MB
~23K SLoC