Skip to main content

Module time

Module time 

Source
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 🔒