Я хочу добавить / или вычесть день из выбранной даты.Например, пользователь выбирает 09-10-2019 , когда пользователь нажимает кнопку, дата должна быть 10-10-2019 .
Я не пытаюсьдобавить или уменьшить день от текущей даты.
На предыдущем экране у меня есть переменная -> которая выбрана пользователем и не является статичной
selecteddate = "09.10.2019"
Я объявил ее как глобальную переменную, чтобы ее можно было использовать на нескольких экранах, поэтому на этом экране я получаю эту «выбранную дату».
У меня 3 UIButtons .кнопка вчера, selecteddate и кнопка завтра
- Когда пользователь нажимает кнопку вчера, тогда 1 день должен быть уменьшен из переменной selecteddate
- Когда пользователь нажимает кнопку завтра, тогда 1 день должен быть добавлен к selecteddate'variable.
Я следовал тому, что сказал ответ.Но, к сожалению, моя выбранная дата была строкой, и мне нужно было отправить строку в API в ее формате.Итак, я сделал следующее.
let dateFormattera = DateFormatter()
dateFormattera.dateFormat = "dd.MM.yyyy"
let date = dateFormattera.date(from: datetoday)
let newdate = Calendar.current.date(byAdding: .day, value: +1, to: date!)
let dateFormatterb = DateFormatter()
dateFormatterb.dateFormat = "dd.MM.yyyy"
let tomorrowdate = dateFormatterb.string(from: newdate!)
let dateFormatterx = DateFormatter()
let day = dateFormatterx.date(from: datetoday)
let newday = Calendar.current.date(byAdding: .day, value: +1, to: date!)
let dateFormattery = DateFormatter()
dateFormattery.dateFormat = "EEE"
let tomorrowday = dateFormattery.string(from: newdate!)
В этом может быть ненужный код, но это заставило все работать как надо.Это получает ДАТУ и ДЕНЬ.Я должен был использовать это, потому что преобразование строки в дату добавило +1 день к дате (из-за времени UTC 18:00), несмотря на выполнение -1 или + 1