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 小时。