| 12345678910111213141516171819202122232425262728293031 |
- // LoopFollow
- // DateExtensions.swift
- import Foundation
- // MARK: - Date Extension for NS Compatibility
- extension Date {
- /// Creates a new date with the original date's components but current seconds and milliseconds
- /// This prevents Nightscout issues with entries at the same exact time
- /// - Returns: A new date with randomized milliseconds
- func dateUsingCurrentSeconds() -> Date {
- let calendar = Calendar.current
- // Extracting components from the original date
- var components = calendar.dateComponents([.year, .month, .day, .hour, .minute], from: self)
- // Getting the current seconds and milliseconds
- let now = Date()
- let nowSeconds = calendar.component(.second, from: now)
- let nowMillisecond = calendar.component(.nanosecond, from: now) / 1_000_000
- // Setting the seconds and millisecond components
- components.second = nowSeconds
- components.nanosecond = nowMillisecond * 1_000_000
- // Creating a new date with these components
- return calendar.date(from: components) ?? self
- }
- }
|