Wie hinzufügen von Tagen zu einem Datum in swift 3

Bin ich immer der Anzahl der Tage,Start-und Enddatum aus einem Dienst. Ich möchte die Liste aller Termine zwischen dem start-Datum und end-Datum. Lassen Sie uns sagen, mein Startdatum ist 2017/08/15-und Ende-Datum ist 2017/08/16 und die Anzahl der Tage 2.

Aber ich bin immer die aktuelle Liste wie diese.

##### CONVERTED STRING DATE 2017-08-16

##### CONVERTED STRING DATE  2017-08-17

##### CONVERTED STRING DATE 2017-08-18

Und ich haben ein date wie dieses

Startdatum 2017/08/23 Enddatum 2017/09/01 und die Anzahl der Tage 8. dann bekomme ich die Liste wie diese.

##### CONVERTED STRING DATE  2017-08-24

##### CONVERTED STRING DATE  2017-08-25

##### CONVERTED STRING DATE  2017-08-28

##### CONVERTED STRING DATE  2017-08-29

##### CONVERTED STRING DATE  2017-08-30

##### CONVERTED STRING DATE  2017-08-31


##### CONVERTED STRING DATE  2017-09-01

Dies ist, wie bekomme ich die Datums-array

 numberOfDates=Int(ceil(numOfDay))
                        //numberOfDates=numberOfDates-1
                        let arrayDates=self.generateDates(startDate: startDate, addbyUnit: .day, value: numberOfDates)

Dies ist, wie mein date Berechnungsmethode

internal func generateDates(startDate :Date?, addbyUnit:Calendar.Component, value : Int) -> [Date]
{
    //print("####START DATE#######\(startDate)")
    var calendar = Calendar.current
    calendar.timeZone=TimeZone.current
    var datesArray: [Date] =  [Date] ()

    for i in 0 ... value {
        var addAmount:Int!
        if(value==0)
        {
            addAmount=0
        }
        else
        {
            addAmount=1
        }
        if let newDate = calendar.date(byAdding: addbyUnit, value: i + addAmount, to: startDate!) {

            let strDayName=self.getDayName(mydate: newDate)
            if (strDayName != "Saturday" && strDayName != "Sunday")
            {
                datesArray.append(newDate)
            }

        }
    }

    return datesArray
}

Mein problem ist manchmal das Datum Liste falsch ist (1. Szenario), aber den richtigen in der 2. Szenario.

InformationsquelleAutor user1960169 | 2017-08-08

Schreibe einen Kommentar