#毫秒 #ms #转换器

ms-converter

将人类时间转换为毫秒的快速抽象

21 个版本 (8 个稳定版)

1.4.0 2020 年 5 月 2 日
1.2.1 2020 年 4 月 28 日
1.1.1 2020 年 3 月 28 日
0.7.4 2020 年 3 月 24 日

#208日期和时间

Download history 71/week @ 2024-03-11 30/week @ 2024-03-18 77/week @ 2024-04-01 12/week @ 2024-04-08 19/week @ 2024-04-15 10/week @ 2024-04-22 10/week @ 2024-04-29 13/week @ 2024-05-06 22/week @ 2024-05-13 17/week @ 2024-05-20 13/week @ 2024-05-27 19/week @ 2024-06-03 8/week @ 2024-06-10 13/week @ 2024-06-17 16/week @ 2024-06-24

57 每月下载量
用于 updatehub-sdk

MIT 许可证

27KB
512

MS 转换库

将人类时间转换为毫秒的快速抽象。例如,将 1d 转换为 86400000

有两种方式计算毫秒

  • 在运行时 crate::ms_converter::ms
  • 在编译时 crate::ms_converter::ms_expr

入门

用法

将此添加到您的 Cargo.toml 文件中

[dependencies]
ms-converter = "1.4"

示例

在运行时运行 ms 转换器

use crate::ms_converter::ms;

let value = ms("1d").unwrap();
assert_eq!(value, 86400000)

在编译步骤中转换 ms

use crate::ms_converter::ms_expr;

const VALUE: i64 = ms_expr!(i64, 1 d);
assert_eq!(VALUE, 86400000)

将 ms 转换为 time.Duration

use crate::ms_converter::ms_into_time;

let value = ms_into_time("1d").unwrap();
assert_eq!(value.as_millis(), 86400000)

将毫秒转换为人类时间字符串

use crate::ms_converter::{get_duration_by_postfix, DAY};

let value = get_duration_by_postfix(DAY as i64, " day").unwrap();
assert_eq!(value, "1 day")

将毫秒转换为不带后缀的人类时间字符串

use crate::ms_converter::{get_max_possible_duration, DAY};

let value = get_max_possible_duration(DAY as i64).unwrap();
assert_eq!(value, "1d")

将毫秒转换为不带后缀的长人类时间字符串

use crate::ms_converter::{get_max_possible_duration_long, WEEK};

let value = get_max_possible_duration_long(2 * WEEK as i64).unwrap();
assert_eq!(value, "14 days") // Max possible period is a day

支持的时间字符串

  • 年: years, year, yrs, yr, y
  • 周: weeks, week, w
  • 天: days, day, d
  • 小时: hours, hour, hrs, hr, h
  • 分钟: minutes, minute, mins, min, m
  • 秒: seconds, second, secs, sec, s
  • 毫秒: milliseconds, millisecond, msecs, msec, ms 和空后缀

性能

您可以在 此处 检查 ms_converterms 库的性能差异。

此外,宏在运行时没有时间!它将被转换为常量值。

运行测试

单元测试

cargo test

编码风格测试

运行编码风格测试

cargo fmt --all -- --check

贡献

只需创建 pr 或 issue。欢迎。

版本管理

我们使用SemVer进行版本管理。有关可用的版本,请查看此存储库的标签

作者

  • 米哈伊尔·帕尼洛夫 - 初始工作 - Mnwa

也可以查看参与此项目的贡献者列表

许可证

本项目采用MIT许可证 - 请参阅LICENSE.md文件以获取详细信息

无运行时依赖