diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index 5a006a6d22f8..a696a26d5d8a 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -6,7 +6,8 @@ * Account Settings: added the ability to change the username. * Stats: added File Downloads to period stats. * Stats Periods: Fixed an issue that made the Post stats title button unable. -* Adds a Publish Now action to posts in the posts list. +* Adds a Publish Now action to posts in the posts list. +* Stats Periods: Fixed a bug that affected the header date when the site and the device timezones were different. 13.0 ----- diff --git a/WordPress/Classes/ViewRelated/Stats/Helpers/StatsDataHelper.swift b/WordPress/Classes/ViewRelated/Stats/Helpers/StatsDataHelper.swift index ecabfeb2744e..1f58080cd248 100644 --- a/WordPress/Classes/ViewRelated/Stats/Helpers/StatsDataHelper.swift +++ b/WordPress/Classes/ViewRelated/Stats/Helpers/StatsDataHelper.swift @@ -166,18 +166,9 @@ private extension StatsDataHelper { extension Date { func normalizedForSite() -> Date { - var calendar = StatsDataHelper.calendarForSite - - let flags: NSCalendar.Unit = [.day, .month, .year] - let components = (calendar as NSCalendar).components(flags, from: self) - - var normalized = DateComponents() - normalized.day = components.day - normalized.month = components.month - normalized.year = components.year - - calendar.timeZone = .autoupdatingCurrent - return calendar.date(from: normalized) ?? self + let calendar = StatsDataHelper.calendar + let components = calendar.dateComponents([.day, .month, .year], from: self) + return calendar.date(from: components) ?? self } func relativeStringInPast() -> String { diff --git a/WordPress/Classes/ViewRelated/Stats/Helpers/StatsPeriodHelper.swift b/WordPress/Classes/ViewRelated/Stats/Helpers/StatsPeriodHelper.swift index e4a8148dedf0..e77c7160bdc7 100644 --- a/WordPress/Classes/ViewRelated/Stats/Helpers/StatsPeriodHelper.swift +++ b/WordPress/Classes/ViewRelated/Stats/Helpers/StatsPeriodHelper.swift @@ -47,7 +47,7 @@ class StatsPeriodHelper { switch period { case .day: - return date < currentDate + return date < currentDate.normalizedDate() case .week: let week = weekIncludingDate(date) guard let weekEnd = week?.weekEnd, diff --git a/WordPress/Classes/ViewRelated/Stats/SiteStatsDashboardViewController.swift b/WordPress/Classes/ViewRelated/Stats/SiteStatsDashboardViewController.swift index 6357819c1329..7bf6fcc462ca 100644 --- a/WordPress/Classes/ViewRelated/Stats/SiteStatsDashboardViewController.swift +++ b/WordPress/Classes/ViewRelated/Stats/SiteStatsDashboardViewController.swift @@ -142,7 +142,7 @@ private extension SiteStatsDashboardViewController { animated: false) } - periodTableViewController.selectedDate = periodDate ?? StatsDataHelper.currentDateForSite().normalizedForSite() + periodTableViewController.selectedDate = periodDate ?? StatsDataHelper.currentDateForSite() let selectedPeriod = StatsPeriodUnit(rawValue: currentSelectedPeriod.rawValue - 1) ?? .day periodTableViewController.selectedPeriod = selectedPeriod }