Hallo Forum,
ich habe folgendes Problem und hoffe Ihr könnt mir ein paar Hilfestellungen geben.
Problem:
Ich habe zwei Datumsangaben, wie z.B. "2020-03-21" und "Date()", sprich aktuelles Datum von heute. Nun benötige ich die Anzahl der Tage zwischen den beiden Daten.
Ich habe "gestöbert" und ein bisschen im Playground "gespielt", finde aber ehrlich gesagt keine Lösung. Hier meine bisherigen Versuche:
Alles anzeigen
Das Ergebnis ist hier "31", die Anzahl der Tage im Monat --> .month.
Was mir jetzt fehlt, bzw. vielleicht ist es ja auch der völlig falsche Ansatz, wie ich dem calender.dateInterval das startDate "verpassen" kann
Wenn ich .month durch startDate ersetze kommt ein Fehler, der mir ja auch logisch erscheint. Mir fehlt jetzt die Idee wie ich startDate in Calender.Component bekomme ... ??
Bin wie immer für jeden Hinweis dankbar.
Gruß
Ralf
ich habe folgendes Problem und hoffe Ihr könnt mir ein paar Hilfestellungen geben.
Problem:
Ich habe zwei Datumsangaben, wie z.B. "2020-03-21" und "Date()", sprich aktuelles Datum von heute. Nun benötige ich die Anzahl der Tage zwischen den beiden Daten.
Ich habe "gestöbert" und ein bisschen im Playground "gespielt", finde aber ehrlich gesagt keine Lösung. Hier meine bisherigen Versuche:
Quellcode
- public func ConvertStringToDate(DateValue: String) -> Date {
- let formatter = DateFormatter()
- let dValue = DateValue
- //formatter.locale = Locale(identifier: "en_US_POSIX")
- formatter.dateFormat = "yyyy-MM-dd"
- var date = formatter.date(from: dValue)
- if (date==nil)
- {
- formatter.dateFormat = "yyyy-MM-dd"
- //formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
- date = formatter.date(from: dValue)
- }
- return date!
- }
- // Hole aktuellen Zeitpunkt (today) und User-definierten Zeitpunkt
- let today = Date()
- let startDate = ConvertStringToDate(DateValue: "2020-10-05")
- let calender = Calendar.current
- let interval = calender.dateInterval(of: .month, for: today)!
- let timeDifference = calender.dateComponents([.day], from: interval.start, to: interval.end).day
- print(timeDifference ?? 0)
Das Ergebnis ist hier "31", die Anzahl der Tage im Monat --> .month.
Was mir jetzt fehlt, bzw. vielleicht ist es ja auch der völlig falsche Ansatz, wie ich dem calender.dateInterval das startDate "verpassen" kann

Wenn ich .month durch startDate ersetze kommt ein Fehler, der mir ja auch logisch erscheint. Mir fehlt jetzt die Idee wie ich startDate in Calender.Component bekomme ... ??
Bin wie immer für jeden Hinweis dankbar.
Gruß
Ralf