добавить дни в строку даты - PullRequest
0 голосов
/ 17 мая 2018

У меня есть различные даты в формате String, которые хранятся в словаре.Я хотел бы получить эти даты и добавить на них один или два дня, в зависимости от других критериев.

Нужно ли преобразовывать строковые даты в NSDate, извлекать компоненты (год, месяц, день), редактироватькомпоненты (добавление одного или двух дней) и снова собрать вместе новые компоненты в NSDate / String?

Например, у меня есть строковая дата из моего словаря "26/05/2018", и я хочудобавить один день, я хочу создать новую строку "27/05/2018".

Спасибо

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

Вы можете начать с чего-то вроде этого:

extension String {

    func toDate(format: String) -> Date? {

        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = format
        dateFormatter.locale = Locale.current
        return dateFormatter.date(from: self)
    }
}

extension Date {

    func toString(format: String) -> String? {

        let df = DateFormatter()
        df.dateFormat = format
        return df.string(from: self)
    }

    func add(component: Calendar.Component, value: Int) -> Date? {

        return Calendar.current.date(byAdding: component, value: value, to: self)
    }
}
0 голосов
/ 17 мая 2018
  1. Преобразование строки в дату с использованием соответствующего DateFormatter
  2. Добавление компонентов для получения новой даты
  3. Возврат даты
...