2016-01-31 3 views
0

Я пытаюсь вычислить дату, которая год от текущей даты:Дата что один год с другой даты

let calendar = NSCalendar.currentCalendar() 
let currDate = NSDate() 
let newDate = calendar.dateBySettingUnit(.Year, value: 2017, ofDate: currDate, options: NSCalendarOptions(rawValue: 0))! 

Но newDate всегда 1 января, 2017.

+0

Почему foo с необработанным значением? – matt

ответ

3

Вы получили это почти

let calendar = NSCalendar.currentCalendar() 
let currDate = NSDate() 
let newDate = calendar.dateByAddingUnit(.Year, value: 1, toDate: currDate, options: []) 
+0

Любые идеи, почему 'dateBySettingUnit' работает не так, как ожидалось? Мне все еще нужно 'dateBySettingUnit' для соответствующих вычислений. –

+0

Да, как следует из названия метода, вы устанавливаете ** год единицы текущего года до 2017 года. – vadian

+0

Но я не трогаю день, а текущий день - 31 января. Почему результат 1 января тогда? –

Смежные вопросы