4 个版本 (2 个重大变更)
新版本 0.25.0 | 2024年8月20日 |
---|---|
0.24.1 | 2024年8月13日 |
0.24.0 | 2024年8月5日 |
0.23.0 | 2024年6月17日 |
295 在 测试 类别中
每月下载量 5,431
在 22 个 包中(直接使用 2 个)
19KB
360 行
时间模块提供了一个非全局时钟,应该将其作为参数传递给需要读取当前时间的函数。特别应避免在对象中存储时钟实例。直接使用系统时钟的函数是非密封的,这使得它们实际上是非确定性的,难以测试。
时钟提供两种类型的时间读取
- now()(即 POSIX CLOCK_MONOTONIC,即 time::Instant)由进行测量的机器感知的时间。对 now() 的后续调用保证返回单调结果。应用于测量机器观察到的操作延迟。time::Instant 本身不转换为任何特定的时间戳,因此对于进行测量的机器以外的人没有意义。
- now_utc()(即 POSIX CLOCK_REALTIME,即 time::Utc)期望近似(全局)UTC 时间。没有保证后续的读取将是单调的,因为 CLOCK_REALTIME 在操作系统设置中是可配置的,或者可以在 NTP 同步期间更新。应在任何需要通过网络通信时间戳或稍后使用时使用。请记住,不同机器的时钟并不完全同步,在极端情况下可能会完全偏斜。
依赖关系
~0.7–2MB
~37K SLoC