У меня есть ярлык, который я хочу провести определенную дату. Первоначальная дата должна быть текущей датой, и пользователь должен иметь возможность выполнить время через интервал дня. После небольшого исследования выяснилось, что было бы лучше установить NSDateComponents и добавить их в текущую дату.NSDate - Добавление дней не изменяет значения года
Моя проблема заключается в следующем: когда я перехожу через время, все кажется прекрасным, пока я не дойду до конца/начала года. Например, удержание даты на ярлыке - 01.01.2014, когда я нажимаю «предыдущий день», это станет 31.12.2014. Я подумал о том, чтобы просить дату, а затем установить год вручную, но я не могу думать о том, что это решение.
Так вот мой код:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
[self setupInterface];
}
- (void)setupInterface{
orderDate = [NSDate date];
[self updateDateLbl];
}
- (void)updateDateLbl{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"dd.MM.YYYY"];
dateLbl.text = [dateFormatter stringFromDate:orderDate];
}
- (IBAction)nextDay:(id)sender {
NSDateComponents *comps = [[NSDateComponents alloc]init];
comps.day = 1;
orderDate = [[NSCalendar currentCalendar] dateByAddingComponents:comps toDate:orderDate options:0];
[self updateDateLbl];
}
- (IBAction)previousDay:(id)sender {
NSDateComponents *comps = [[NSDateComponents alloc]init];
comps.day = -1;
orderDate = [[NSCalendar currentCalendar] dateByAddingComponents:comps toDate:orderDate options:0];
[self updateDateLbl];
}
Я хотел бы некоторую помощь :)
После небольшого поиска я нашел источник этой цитаты, он очень хорошо спрятан. В любом случае, большое спасибо. Итак, этот формат YYYY подсчитывает год, в котором находится неделя между 1-52? – Cr44zy