Dies ist, was ich tun, wenn Picker Änderungen:DateFormatter.localizedString ist für einige der Termine gebrochen
extension Date {
var fromCurrentToUTC: Date {
return addingTimeInterval(-TimeInterval(TimeZone.current.secondsFromGMT()))
}
}
var title = "--"
if let date = datePickerView.date?.fromCurrentToUTC {
title = DateFormatter.localizedString(from: date, dateStyle: .medium, timeStyle: .none)
}
print("-----")
print(datePickerView.date!)
print(title)
print(TimeZone.current)
print(datePickerView.date!.timeIntervalSince1970)
dateTimeSegmentControl.setTitle(title, forSegmentAt: 0)
Und das ist, wie es für die Tage sieht:
Angenommen. Alles ist in Ordnung für die Daten vor dem 6. November, und nach dem 6. November ist alles wieder vorbei. Warum?
Update:
Das kritische Datum für jede Zeitzone unterscheidet ich benutze. Zum Beispiel:
Warschau (0200) ist das Datum 30. Oktober Chicago (-0500) das Datum 6. November ist
Die bestellten Abzüge:
----- 2017-11-04 00:00:00 +0000 4 Nov 2017 America/New_York (current) 1509753600.0 ----- 2017-11-05 00:00:00 +0000 5 Nov 2017 America/New_York (current) 1509840000.0 ----- 2017-11-06 00:00:00 +0000 5 Nov 2017 America/New_York (current) 1509926400.0 ----- 2017-11-07 00:00:00 +0000 6 Nov 2017 America/New_York (current) 1510012800.0
meisten wahrscheinlich wegen des Endes der Sommerzeit (die vom Nov 5 2017 in Warschau und am 29. Oktober 2017 in Chicago). –
was ?;) Wie kann ich Abhilfe schaffen? –
Es scheint für Finnland (29. Oktober) zu funktionieren - sehe keine falschen Daten mit DateFormatter.localizedString –