Expand description
跨平台时间/睡眠工具。 跨平台时间/睡眠工具。
根据目标架构分别实现:
wasm32:通过js_sys调用 JavaScript 的setTimeout/Date.now()。- 其他平台:使用
tokio::time::sleep/chrono::Utc。
相对时间分档的核心实现由前后端共享;服务端通过 relative_label_from_millis
适配预渲染,前端通过 format_relative_time_iso 适配待审核评论,二者都复用
relative_label_inner,保证分档口径一致。
Functions§
- format_
relative_ time_ iso - 前端友好的相对时间格式化:返回相对文本,用于展示待审核评论的创建时间。
- hm
08:05:代替format("%H:%M")。- hm_
parts 🔒 - hms_
millis 08:05:09.123:代替format("%H:%M:%S%.3f")(闰秒的纳秒值按 chrono 取模)。- hms_
millis_ 🔒parts - local_
hhmm_ to_ utc - 浏览器本地 “HH:MM” → UTC “HH:MM”。空串/非法输入回退 “04:00” (服务端 normalize 会再兜底一次)。非 wasm32 原样返回(只有设置页保存时调用)。
- local_
now - 浏览器本地的当前时间。
- md
10.30/10-30:代替format("%m{sep}%d")。- md_
parts 🔒 - now_
millis - 获取当前时间戳(毫秒)。
- relative_
label_ from_ millis - 相对时间分档:根据“距现在的毫秒数“返回 (相对文本, 绝对日期 YYYY-MM-DD)。
- relative_
label_ 🔒inner - 桶化相对时间标签 + 绝对日期,复用已解析的 DateTime 避免二次 ISO 解析。
- sleep_
ms - 异步睡眠指定毫秒数(原生 tokio 版本)。
- to_
local - 把 UTC 时间换到浏览器本地时区(按该时刻的偏移,跨夏令时也准确)。
- utc_
hhmm_ to_ local - UTC “HH:MM” → 浏览器本地 “HH:MM”(按当天时区偏移换算)。
- ymd
2026.10.30/2026-10-30:代替format("%Y{sep}%m{sep}%d")(客户端不带 strftime 解析器)。- ymd_
parts 🔒