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