desktop/src-tauri/crates/core/src/calendar.rs
Comment 1, line 1
desktop/src-tauri/crates/core/src/calendar.rs:1
//! IANA calendars: day/week/month boundaries, DST 23/25-hour days, ISO weeks and retention cutoffs.Comment 2, line 2
desktop/src-tauri/crates/core/src/calendar.rs:2
//! UTC milliseconds represent half-open time intervals [start, end).Comment 3, line 9
desktop/src-tauri/crates/core/src/calendar.rs:9
/// Week start defaults to ISO Monday; Sunday-start week labels use the start date.Comment 4, line 33
desktop/src-tauri/crates/core/src/calendar.rs:33
/// A fixed IANA timezone keeps this Calendar independent of later system timezone changes.Comment 5, line 61
desktop/src-tauri/crates/core/src/calendar.rs:61
/// UTC milliseconds to local date.Comment 6, line 68
desktop/src-tauri/crates/core/src/calendar.rs:68
/// UTC milliseconds to local hour 0-23; both occurrences of a repeated DST hour share a label.Comment 7, line 69
desktop/src-tauri/crates/core/src/calendar.rs:69
/// Use [`Calendar::offset_seconds_at`] to distinguish their offsets.Comment 8, line 77
desktop/src-tauri/crates/core/src/calendar.rs:77
/// UTC milliseconds to ISO weekday, Monday=1 through Sunday=7.Comment 9, line 94
desktop/src-tauri/crates/core/src/calendar.rs:94
/// UTC offset seconds at this instant, distinguishing repeated DST hours.Comment 10, line 101
desktop/src-tauri/crates/core/src/calendar.rs:101
/// Local date as UTC [start_ms, end_ms); DST days may contain 23 or 25 hours.Comment 11, line 102
desktop/src-tauri/crates/core/src/calendar.rs:102
/// jiff resolves a nonexistent local midnight to the next valid time.Comment 12, line 114
desktop/src-tauri/crates/core/src/calendar.rs:114
/// Local date containing now_ms.Comment 13, line 119
desktop/src-tauri/crates/core/src/calendar.rs:119
/// Retain today and the preceding D-1 local dates; cutoff is today minus D-1 days.Comment 14, line 129
desktop/src-tauri/crates/core/src/calendar.rs:129
/// First date of this local week, using week_start.Comment 15, line 139
desktop/src-tauri/crates/core/src/calendar.rs:139
/// Monday-start labels use ISO week/year, such as 2026-W01;Comment 16, line 140
desktop/src-tauri/crates/core/src/calendar.rs:140
/// Sunday-start labels use their start date, such as 2025-12-28.Comment 17, line 151
desktop/src-tauri/crates/core/src/calendar.rs:151
/// First local date of the calendar month.Comment 18, line 156
desktop/src-tauri/crates/core/src/calendar.rs:156
/// Month label, such as 2026-09.Comment 19, line 161
desktop/src-tauri/crates/core/src/calendar.rs:161
/// Calendar month as a half-open UTC interval.Comment 20, line 177
desktop/src-tauri/crates/core/src/calendar.rs:177
/// ISO 8601 (week-year, week-number): the week's Thursday determines its year.Comment 21, line 178
desktop/src-tauri/crates/core/src/calendar.rs:178
/// Week number = (Thursday day-of-year - 1) / 7 + 1.Comment 22, line 189
desktop/src-tauri/crates/core/src/calendar.rs:189
/// Parse YYYY-MM-DD.Comment 23, line 195
desktop/src-tauri/crates/core/src/calendar.rs:195
/// Last date of the month for displayed end labels.Comment 24, line 200
desktop/src-tauri/crates/core/src/calendar.rs:200
/// Date constructor for tests and callers.Comment 25, line 211
desktop/src-tauri/crates/core/src/calendar.rs:211
// Monday 2025-12-29 belongs to ISO 2026 week 1.Comment 26, line 215
desktop/src-tauri/crates/core/src/calendar.rs:215
// 2024-12-30 through 2025-01-05 belongs to 2025-W01.Comment 27, line 217
desktop/src-tauri/crates/core/src/calendar.rs:217
// The first ISO week of 2027 starts on 2027-01-04.Comment 28, line 225
desktop/src-tauri/crates/core/src/calendar.rs:225
// Spring-forward 2026-03-08 has 23 hours.Comment 29, line 228
desktop/src-tauri/crates/core/src/calendar.rs:228
// Fall-back 2026-11-01 has 25 hours.Comment 30, line 231
desktop/src-tauri/crates/core/src/calendar.rs:231
// An ordinary day has 24 hours.