14 个版本
| 新 0.2.6 | 2024 年 8 月 20 日 |
|---|---|
| 0.2.5 | 2024 年 3 月 18 日 |
| 0.2.4 | 2023 年 9 月 11 日 |
| 0.2.3 | 2023 年 3 月 14 日 |
| 0.1.3 | 2022 年 7 月 25 日 |
#33 in 日期和时间
28,823 每月下载量
用于 19 个 Crates (2 直接)
52KB
946 行
utcnow —— 在无 std 环境中获取当前 unixtime
这个库只解决一个问题:现在是什么时间?
在 UTC,根据运行库的 PC、平板电脑、烤面包机等设备的时钟,表示为自 1970-01-01 以来经过的秒数 + 纳秒数。
let now = utcnow().unwrap();
let seconds = now.as_secs();
let nanos = now.subsec_nanos();
对于许多目标平台,这个调用不会失败。如果对于当前目标平台是真实的,那么常量 INFALLIBLE 将为 true。
如果目标平台不受支持,那么 utcnow() 将始终返回错误,而不是失败编译。使用库时,请使用 default-features = false 并不使用功能 fallback 以在编译时获得错误。
功能 std(默认启用)仅在有需要使用 Error 类型实现 std::error::Error 时需要。
支持的平台
如果您成功测试了未测试的目标之一,请告诉我。如果没有,那就更该这样了!
如果您知道如何实现另一个目标,请发起一个 pull request。
已支持和测试
- Android
- Emscripten
- FreeBSD
- Haiku
- Illumos
- Linux
- Linux with Musl
- MacOS
- NetBSD
- WASI
- wasm32
- Windows
(可能)支持,但尚未实际测试
- Darwin
- Dragonfly
- Fuchsia
- iOS
- OpenBSD
- Redox
- Solaris
提高对 msrv 为二级或更低平台的版本将不会被视为破坏性更改,并标示为semver版本。
功能标志
utcnow 具有以下可选功能
-
serde,为UtcTime实现了serde::Deserialize和serde::Serialize。 -
arbitrary,为UtcTime实现了arbitrary::Arbitrary特性。 -
proptest,为UtcTime实现了proptest::arbitrary::Arbitrary特性。 -
quickcheck,为UtcTime实现了quickcheck::Arbitrary特性。 -
rkyv,为UtcTime实现了rkyv::Archive,rkyv::Serialize和rkyv::Deserialize。 -
castaway,为UtcTime实现了castaway::LifetimeFree特性。
依赖项
~0–10MB
~114K SLoC