diff --git a/LoopFollow/Stats/SimpleStatsViewModel.swift b/LoopFollow/Stats/SimpleStatsViewModel.swift index 841f4ca2a..220816ba2 100644 --- a/LoopFollow/Stats/SimpleStatsViewModel.swift +++ b/LoopFollow/Stats/SimpleStatsViewModel.swift @@ -226,9 +226,10 @@ class SimpleStatsViewModel: ObservableObject { var currentTime = startTime while currentTime < endTime { - let currentDate = Date(timeIntervalSince1970: currentTime) - let dayStart = calendar.startOfDay(for: currentDate).timeIntervalSince1970 - let nextDayStart = dayStart + 24 * 60 * 60 + let dayStartDate = calendar.startOfDay(for: Date(timeIntervalSince1970: currentTime)) + guard let nextDayStartDate = calendar.date(byAdding: .day, value: 1, to: dayStartDate) else { break } + let dayStart = dayStartDate.timeIntervalSince1970 + let nextDayStart = nextDayStartDate.timeIntervalSince1970 // Process each profile segment for this day for i in 0 ..< sortedProfile.count { diff --git a/LoopFollow/Stats/StatsDataFetcher.swift b/LoopFollow/Stats/StatsDataFetcher.swift index 71f84b038..a65464d47 100644 --- a/LoopFollow/Stats/StatsDataFetcher.swift +++ b/LoopFollow/Stats/StatsDataFetcher.swift @@ -512,9 +512,10 @@ class StatsDataFetcher { var currentTime = startTime while currentTime < endTime { - let currentDate = Date(timeIntervalSince1970: currentTime) - let dayStart = calendar.startOfDay(for: currentDate).timeIntervalSince1970 - let nextDayStart = dayStart + 24 * 60 * 60 + let dayStartDate = calendar.startOfDay(for: Date(timeIntervalSince1970: currentTime)) + guard let nextDayStartDate = calendar.date(byAdding: .day, value: 1, to: dayStartDate) else { break } + let dayStart = dayStartDate.timeIntervalSince1970 + let nextDayStart = nextDayStartDate.timeIntervalSince1970 for i in 0 ..< sortedProfile.count { let segmentRate = sortedProfile[i].value