跳转到内容

desktop/src-tauri/crates/core/src/calendar.rs

第 1 条注释,第 1 行

desktop/src-tauri/crates/core/src/calendar.rs:1

//! IANA 时区日历:日/周/月边界(含 DST 23/25 小时日)、ISO 周、保留截止。

第 2 条注释,第 2 行

desktop/src-tauri/crates/core/src/calendar.rs:2

//! 时间区间统一半开 `[start, end)`;存 UTC 毫秒整数。

第 3 条注释,第 9 行

desktop/src-tauri/crates/core/src/calendar.rs:9

/// 一周起始日。默认周一(ISO);周日起始时周标签必须使用开始日期。

第 4 条注释,第 33 行

desktop/src-tauri/crates/core/src/calendar.rs:33

/// 固定 IANA 时区,使此 Calendar 不受后续系统时区变化影响。

第 5 条注释,第 61 行

desktop/src-tauri/crates/core/src/calendar.rs:61

/// UTC 毫秒 → 本地日。

第 6 条注释,第 68 行

desktop/src-tauri/crates/core/src/calendar.rs:68

/// UTC 毫秒 → 本地小时(0–23)。DST 重复小时的两次出现得到同一标签,

第 7 条注释,第 69 行

desktop/src-tauri/crates/core/src/calendar.rs:69

/// 需要区分时用 [`Calendar::offset_seconds_at`]。

第 8 条注释,第 77 行

desktop/src-tauri/crates/core/src/calendar.rs:77

/// UTC 毫秒 → ISO 星期几(周一=1 … 周日=7)。

第 9 条注释,第 94 行

desktop/src-tauri/crates/core/src/calendar.rs:94

/// UTC 毫秒 → 该时刻的 UTC offset 秒(分辨 DST 重复小时)。

第 10 条注释,第 101 行

desktop/src-tauri/crates/core/src/calendar.rs:101

/// 本地日的 UTC 半开区间 `[start_ms, end_ms)`。DST 日长度可为 23/25 小时;

第 11 条注释,第 102 行

desktop/src-tauri/crates/core/src/calendar.rs:102

/// 不存在的本地午夜由 jiff 顺延到首个有效时刻。

第 12 条注释,第 114 行

desktop/src-tauri/crates/core/src/calendar.rs:114

/// now 所在本地日。

第 13 条注释,第 119 行

desktop/src-tauri/crates/core/src/calendar.rs:119

/// 有限保留 D 天的截止本地日:今天起点往前 D−1 天;今天与前 D−1 个本地日保留。

第 14 条注释,第 129 行

desktop/src-tauri/crates/core/src/calendar.rs:129

/// 本地日所在周的起始日(按 week_start)。

第 15 条注释,第 139 行

desktop/src-tauri/crates/core/src/calendar.rs:139

/// 周标签:周一起始用 ISO 周(标签含周所属年份,如 2026-W01);

第 16 条注释,第 140 行

desktop/src-tauri/crates/core/src/calendar.rs:140

/// 周日起始用开始日期(如 2025-12-28),不能冒充 ISO 周。

第 17 条注释,第 151 行

desktop/src-tauri/crates/core/src/calendar.rs:151

/// 本地日所在自然月的第一天。

第 18 条注释,第 156 行

desktop/src-tauri/crates/core/src/calendar.rs:156

/// 月标签,如 2026-09。

第 19 条注释,第 161 行

desktop/src-tauri/crates/core/src/calendar.rs:161

/// 月份 UTC 半开区间。

第 20 条注释,第 177 行

desktop/src-tauri/crates/core/src/calendar.rs:177

/// ISO 8601 周:(周所属年份, 周号)。算法:本周周四所属年即 ISO 年;

第 21 条注释,第 178 行

desktop/src-tauri/crates/core/src/calendar.rs:178

/// 周号 = (周四的年内序数 - 1) / 7 + 1。

第 22 条注释,第 189 行

desktop/src-tauri/crates/core/src/calendar.rs:189

/// 解析 YYYY-MM-DD。

第 23 条注释,第 195 行

desktop/src-tauri/crates/core/src/calendar.rs:195

/// 月份最后一天(用于月区间结束标签显示)。

第 24 条注释,第 200 行

desktop/src-tauri/crates/core/src/calendar.rs:200

/// 便捷构造(测试与调用方)。

第 25 条注释,第 211 行

desktop/src-tauri/crates/core/src/calendar.rs:211

// 2025-12-29 是周一,属于 ISO 2026 年第 1 周。

第 26 条注释,第 215 行

desktop/src-tauri/crates/core/src/calendar.rs:215

// 2024-12-30..2025-01-05 属 2025-W01。

第 27 条注释,第 217 行

desktop/src-tauri/crates/core/src/calendar.rs:217

// 2027 年第一周从 2027-01-04 开始。

第 28 条注释,第 225 行

desktop/src-tauri/crates/core/src/calendar.rs:225

// 2026-03-08 春季拨快:23 小时。

第 29 条注释,第 228 行

desktop/src-tauri/crates/core/src/calendar.rs:228

// 2026-11-01 秋季拨回:25 小时。

第 30 条注释,第 231 行

desktop/src-tauri/crates/core/src/calendar.rs:231

// 普通日 24 小时。