Вывод ответа через оператор if/else
Подскажите начинающему, плз.
Нужно прописать вывод ответа через оператор if/else. В обще, работа с DatePickerом. Задача заключается в том, чтобы выводить на label отсчет дней с сегодняшней даты и указать, високосный ли год. Проблема как раз в этом году. Формулу нашел, if/else прописал, но как-то неуклюже, нужно упростить. Сори, если уж сильно по-нубски.
Вот код:
if((newDate.day<0) && (newDate.year % 4 >= 1 || newDate.year % 400 >= 1 && newDate.year % 100 == 0))
{
self.dateLabel.text =[NSString stringWithFormat:@"%d дней %d часов %d минут %d секунд прошло; високосный год",newDate.day* (-1),newDate.hour*(-1), newDate.minute*(-1),newDate.second*(-1)];
}
else
{
if((newDate.day<0) && (newDate.year % 4 >= 0 || newDate.year % 400 >= 0 && newDate.year % 100 == 1)){
self.dateLabel.text =[NSString stringWithFormat:@"%d дней %d часов %d минут %d секунд прошло; не високосный год",newDate.day*(-1),newDate.hour*(-1), newDate.minute*(-1),newDate.second*(-1)];
}
else
{
if ((newDate.day==0) && (newDate.year % 4 >= 1 || newDate.year % 400 >= 1 && newDate.year % 100 == 0)) {
self.dateLabel.text =[NSString stringWithFormat:@"сегодня; високосный год"];
}
else
{
if ((newDate.day==0) && (newDate.year % 4 >= 0 || newDate.year % 400 >= 0 && newDate.year % 100 == 1)) {
self.dateLabel.text =[NSString stringWithFormat:@"сегодня; не високосный год"];
}
else
{
if((newDate.day>0) && (newDate.year % 4 >= 1 || newDate.year % 400 >= 1 && newDate.year % 100 == 0)){
self.dateLabel.text =[NSString stringWithFormat:@"%d дней %d часов %d минут %d секунд осталось; високосный год",newDate.day],newDate.hour, newDate.minute,newDate.second;
}
else
{
if((newDate.day>0) && (newDate.year % 4 >= 0 || newDate.year % 400 >= 0 && newDate.year % 100 == 1)){
self.dateLabel.text =[NSString stringWithFormat:@"%d дней %d часов %d минут %d секунд осталось; не високосный год",newDate.day],newDate.hour, newDate.minute,newDate.second;
}
Источник: Stack Overflow на русском