File tree Expand file tree Collapse file tree 1 file changed +8
-15
lines changed
Sources/Segment/Utilities Expand file tree Collapse file tree 1 file changed +8
-15
lines changed Original file line number Diff line number Diff line change 7
7
8
8
import Foundation
9
9
10
- var __segment_isoDateFormatter = SegmentISO8601DateFormatter ( )
11
-
12
- class SegmentISO8601DateFormatter : DateFormatter {
13
- override init ( ) {
14
- super. init ( )
15
-
16
- self . dateFormat = " yyyy'-'MM'-'dd'T'HH':'mm':'ss.SSS:'Z' "
17
- self . locale = Locale ( identifier: " en_US_POSIX " )
18
- self . timeZone = TimeZone ( secondsFromGMT: 0 )
19
- }
10
+ enum SegmentISO8601DateFormatter {
20
11
21
- required init ? ( coder: NSCoder ) {
22
- fatalError ( " init(coder:) has not been implemented " )
23
- }
12
+ static let shared : ISO8601DateFormatter = {
13
+ let formatter = ISO8601DateFormatter ( )
14
+ formatter. formatOptions. update ( with: . withFractionalSeconds)
15
+ return formatter
16
+ } ( )
24
17
}
25
18
26
19
internal extension Date {
27
20
// TODO: support nanoseconds
28
21
func iso8601( ) -> String {
29
- return __segment_isoDateFormatter . string ( from: self )
22
+ return SegmentISO8601DateFormatter . shared . string ( from: self )
30
23
}
31
24
}
32
25
33
26
internal extension String {
34
27
func iso8601( ) -> Date ? {
35
- return __segment_isoDateFormatter . date ( from: self )
28
+ return SegmentISO8601DateFormatter . shared . date ( from: self )
36
29
}
37
30
}
You can’t perform that action at this time.
0 commit comments