Как скрыть следующий день с FSCalendar на основе недели - PullRequest
0 голосов
/ 30 января 2019

Привет. Я хочу скрыть следующий рабочий день, если дата регистрации пользователя и текущая дата совпадают.Мне нужно спрятаться на следующий рабочий день.Воскресенье и суббота - выходные дни.

Я пишу следующий код, если пользователь зарегистрирован в пятницу. Мне нужно скрыть понедельник, как решить эту проблему.

Я пишу так, как скрыть рабочий день

func calendar(_ calendar: FSCalendar, shouldSelect date: Date, at monthPosition: FSCalendarMonthPosition) -> Bool {


        let joingdate = "2019-01-30" //modeldata.joindate
        let currentdate = date.toString(dateFormat: "yyyy-MM-dd")
        let currentDate = date
        let currentdayweek = date.toString(dateFormat: "EEEE")
        if joingdate == currentdate
        {
            if currentdayweek == "Friday"{
                let businessday = Calendar.current.date(byAdding: .day, value: 3, to: currentDate)
                return false
            }
            else if currentdayweek == "Saturday"{

                let businessday = Calendar.current.date(byAdding: .day, value: 2, to: currentDate)
                return false
            }
            else if  currentdayweek == "Sunday"{
                let businessday = Calendar.current.date(byAdding: .day, value: 1, to: currentDate)
                return false
            }
            else
            {
                let businessday = Calendar.current.date(byAdding: .day, value: 1, to: currentDate)
                return false
            }
        }
}

1 Ответ

0 голосов
/ 31 января 2019
func minimumDate(for calendar: FSCalendar) -> Date {
        let formatter = DateFormatter()
        formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
        let myString = formatter.string(from: Date())
        let yourDate = formatter.date(from: myString)
        formatter.dateFormat = "yyyy-MM-dd"
        let strCurrentDate = formatter.string(from: yourDate!)

        var addDay = 0
        if let model = modeldata{
            if let joiningdate = "2019-01-31"
            {
                if strCurrentDate == joiningdate
                {
                    addDay = 2
                }

                let currentdayweek = yourDate!.toString(dateFormat: "EEEE")

                if currentdayweek == "Friday"{
                    addDay = 4
                }
                else if currentdayweek == "Saturday"{

                    addDay = 3
                }
                else if  currentdayweek == "Sunday"{

                    addDay = 2
                }
            }
        }

        let tomorrow = Calendar.current.date(byAdding:
            .day, // updated this params to add hours
            value: addDay,
            to: formatter.date(from: strCurrentDate)!)

        return tomorrow!
    }  
}
...