@@ -17,6 +17,16 @@ import os.log
17
17
open class ChartsManager {
18
18
private let log = OSLog ( category: " ChartsManager " )
19
19
20
+ private lazy var timeFormatter : DateFormatter = {
21
+ let formatter = DateFormatter ( )
22
+ let dateFormat = DateFormatter . dateFormat ( fromTemplate: " j " , options: 0 , locale: Locale . current) !
23
+ let isAmPmTimeFormat = dateFormat. index ( of: " a " ) != nil
24
+ formatter. dateFormat = isAmPmTimeFormat
25
+ ? " h a "
26
+ : " H:mm "
27
+ return formatter
28
+ } ( )
29
+
20
30
public init ( colors: ChartColorPalette , settings: ChartSettings , charts: [ ChartProviding ] ) {
21
31
self . colors = colors
22
32
self . chartSettings = settings
@@ -105,7 +115,7 @@ open class ChartsManager {
105
115
/// - Parameter date: The new candidate date
106
116
public func updateEndDate( _ date: Date ) {
107
117
if date > endDate {
108
- var components = DateComponents ( minute: 0 )
118
+ let components = DateComponents ( minute: 0 )
109
119
endDate = min (
110
120
maxEndDate,
111
121
Calendar . current. nextDate (
@@ -156,14 +166,12 @@ open class ChartsManager {
156
166
157
167
// MARK: - Shared Axis
158
168
169
+
159
170
private func generateXAxisValues( ) {
160
171
if let endDate = charts. compactMap ( { $0. endDate } ) . max ( ) {
161
172
updateEndDate ( endDate)
162
173
}
163
174
164
- let timeFormatter = DateFormatter ( )
165
- timeFormatter. dateFormat = " h a "
166
-
167
175
let points = [
168
176
ChartPoint (
169
177
x: ChartAxisValueDate ( date: startDate, formatter: timeFormatter) ,
0 commit comments