Текущий ответ Swift устарел с Swift 2.x. Вот обновленная версия:
let originalDate = NSDate() // "Jun 8, 2016, 12:05 AM"
let calendar = NSCalendar.currentCalendar()
let newDate = calendar.dateByAddingUnit(.Minute, value: -15, toDate: originalDate, options: []) // "Jun 7, 2016, 11:50 PM"
Значение NSCalendarUnit
OptionSetType
изменилось на .Minute
, и вы больше не можете передавать nil
для options
. Вместо этого используйте пустой массив.
Обновление для Swift 3 с использованием новых классов Date
и Calendar
:
let originalDate = Date() // "Jun 13, 2016, 1:23 PM"
let calendar = Calendar.current
let newDate = calendar.date(byAdding: .minute, value: -5, to: originalDate, options: []) // "Jun 13, 2016, 1:18 PM"
Обновите код выше для Swift 4:
let newDate = calendar.date(byAdding: .minute, value: -5, to: originalDate) // "Jun 13, 2016, 1:18 PM"