Skip to main content

Module time

Module time 

Source
Expand description

零依赖时间面:纪元纳秒 ↔ civil(年月日时分秒)双向换算。

Python 版 TickData.datetime 等字段用本地 naive datetime; Rust 版统一为 UTC 纪元纳秒(DtNs),本地化/展示层由使用方处理 (DESIGN.md 决定 8-A)。换算采用 Howard Hinnant 的 civil_from_days / days_from_civil 算法(公历 1582-10-15 起全域正确),均以单测钉死。

Structs§

Civil
civil 六元组 + 毫微段(一日内)。

Constants§

NANOS_PER_DAY
一天的纳秒数(86400 s,不涉闰秒)。
NANOS_PER_SEC
一秒的纳秒数。

Functions§

civil_from_days
纪元日序数 → civil (年, 月, 日)(Hinnant civil_from_days)。
civil_from_nanos
纪元纳秒 → civil(UTC 视角;除法对负纳秒采用 floor 保证越日正确)。
civil_to_nanos
civil → 纪元纳秒(以 civil 视作 UTC,无时区移位)。
days_from_civil
civil 纪元日天数 → 纪元日序数(Hinnant days_from_civil)。
format_civil
yyyy-mm-dd hh:mm:ss(.fffffffff 有 nanos 才显示) 文本(UTC 视角)。
from_system_time
SystemTime → 纪元纳秒(epoch 之前取负;独立函数,避免为基本类型 i64 实现外部 trait——orphan 规则)。
now_nanos
当前时刻的纪元纳秒(SystemTime 视角)。
trading_day
纪元纳秒所在交易日序数(向下取整,负纳秒同样正确)。

Type Aliases§

Day
交易日序数:Unix 纪元起的天数(向下取整,含负数)。
DtNs
时间戳:Unix 纪元(The Epoch, 1970-01-01T00:00:00Z)起的纳秒。