MCPcopy Create free account
hub / github.com/ccusage/ccusage / week_start

Function week_start

rust/crates/ccusage/src/summary.rs:297–311  ·  view source on GitHub ↗
(date: &str, start: WeekDay)

Source from the content-addressed store, hash-verified

295}
296
297pub(crate) fn week_start(date: &str, start: WeekDay) -> Option<String> {
298 let date = parse_iso_date(date)?;
299 let start_num = match start {
300 WeekDay::Sunday => 0,
301 WeekDay::Monday => 1,
302 WeekDay::Tuesday => 2,
303 WeekDay::Wednesday => 3,
304 WeekDay::Thursday => 4,
305 WeekDay::Friday => 5,
306 WeekDay::Saturday => 6,
307 };
308 let day = date.weekday_from_sunday() as i64;
309 let shift = (day - start_num + 7) % 7;
310 Some(format_naive_date(date.checked_add_days(-shift)?))
311}
312
313#[cfg(test)]
314mod tests {

Callers 4

aggregate_rowsFunction · 0.85
aggregate_eventsFunction · 0.85

Calls 4

parse_iso_dateFunction · 0.85
format_naive_dateFunction · 0.85
weekday_from_sundayMethod · 0.80
checked_add_daysMethod · 0.80

Tested by

no test coverage detected