Skip to content

时 ​

时间命名空间。 取时间戳、高精度计时与休眠。

函数 ​

调用返回说明
时.现()整当前 Unix 时间戳(秒,如 1790358274)
时.毫秒()整高精度单调计时(毫秒)——测量耗时用,不是 Unix 时间戳
时.微秒()整高精度单调计时(微秒)——同上
时.睡(毫秒)空休眠指定毫秒数
时.部分(时间戳)字典拆为 {年, 月, 日, 时, 分, 秒, 星期, 年积日}(本地时区;星期 1=周一 … 7=周日)
时.格式(时间戳, 格式串)结果按 C strftime 格式串产出文本,如 时.格式(t, "%Y-%m-%d %H:%M:%S")
时.指定(年, 月, 日, 时, 分, 秒)整由日历时间合成 Unix 时间戳(本地时区)
时.间隔(t1, t2)小数两时间戳的秒差(t1 − t2)
xuantie
设 戳 = 时.指定(2024, 3, 15, 10, 30, 0)
设 部 = 时.部分(戳)
示(部["年"] & "-" & 部["月"] & "-" & 部["日"] & " 星期" & 部["星期"])
设 文 = 时.格式(时.现(), "%Y-%m-%d %H:%M:%S")
若 文.成功 { 示(文.值) }

用法 ​

xuantie
设 起 = 时.毫秒()
设 i = 0
当 i < 1000 { i = i + 1 }
示("耗时 " & 字(时.毫秒() - 起) & "ms")

时.睡(200)          // 暂停 200 毫秒

注意 ​

  • 时.睡 是真正挂起当前执行体的休眠:在 异步 { } 块(fiber)里它是切分点——调度器可在这段时间跑别的 fiber;在主线程里则阻塞当前线程。
  • 时.睡(1) 的实际精度受系统定时器粒度影响(Windows 约 15ms 量级),需要精细计时请用 时.毫秒/微秒 做差值测量,而不是靠小睡眠累加。
  • 循环里出现 时.睡 会让整个 异步 块编译为线程池任务(运行期间独占一个 worker),编译器会给出提示。

相关 ​

基于 VitePress 静态构建 · 文档内容与仓库 GUIDE/ 同源

玄铁玄铁 XUANTIE · 中文系统级编程语言MARK 玄·折 120×120 · STROKE 8 · NO CURVES