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 - 纪元纳秒所在交易日序数(向下取整,负纳秒同样正确)。