Skip to content
This repository was archived by the owner on Sep 15, 2025. It is now read-only.

Commit 064b128

Browse files
committed
Fix parsing for hourly data
1 parent ca75e34 commit 064b128

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

Sources/WordPressKit/Models/Stats/Time Interval/StatsSummaryTimeIntervalData.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ private extension StatsSummaryData {
190190

191191
static var hourlyDateFormatter: DateFormatter {
192192
let df = DateFormatter()
193-
df.locale = Locale(identifier: "en_US_POS")
193+
df.locale = Locale(identifier: "en_US_POSIX")
194194
df.dateFormat = "yyyy-MM-dd HH:mm:ss"
195195
return df
196196
}

Sources/WordPressKit/Services/StatsServiceRemoteV2.swift

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,13 @@ open class StatsServiceRemoteV2: ServiceRemoteWordPressComREST {
2424
return df
2525
}
2626

27+
private var hourlyDateFormatter: DateFormatter {
28+
let df = DateFormatter()
29+
df.locale = Locale(identifier: "en_US_POSIX")
30+
df.dateFormat = "yyyy-MM-dd HH:mm:ss"
31+
return df
32+
}
33+
2734
private lazy var calendarForSite: Calendar = {
2835
var cal = Calendar(identifier: .iso8601)
2936
cal.timeZone = siteTimezone
@@ -129,12 +136,12 @@ open class StatsServiceRemoteV2: ServiceRemoteWordPressComREST {
129136
properties["stat_fields"] = fields.joined(separator: ",")
130137
}
131138

132-
wordPressComRESTAPI.get(path, parameters: properties, success: { [weak self] (response, _) in
139+
let dateFormatter = period == .hour ? hourlyDateFormatter : periodDataQueryDateFormatter
140+
wordPressComRESTAPI.get(path, parameters: properties, success: { (response, _) in
133141
guard
134-
let self,
135142
let jsonResponse = response as? [String: AnyObject],
136143
let dateString = jsonResponse["date"] as? String,
137-
let date = self.periodDataQueryDateFormatter.date(from: dateString)
144+
let date = dateFormatter.date(from: dateString)
138145
else {
139146
completion(nil, ResponseError.decodingFailure)
140147
return

0 commit comments

Comments
 (0)