2013-05-08 7 views
0

Я использовал 3 текстовое поле (строка) и 1 кнопку для отображения введенного текстового поля в результате мыла.Проверка значения текстового поля для даты в iOS

При нажатии кнопки

TextField1=StationID --> 12345      
TextField2 =FirstDate --> 07.05.2013 
TextField3=LastDate ---> 08.05.2013 

поиска и показать нечто и т.д. и т.п.

Я хочу, чтобы проверить дату processes.For примера он должен быть LastDate> FirstDate.If Введенного FirstDate> LastDate дает ошибку Если пользователь введенный как 30.02.2014, датируется первым и последним, он должен был дать ошибку.Февраль не имеет 30 дней. ``

Как это сделать ??

+1

используйте UIDatepicker для ввода даты, а не вручную ввода его в текстовое поле. – Bonnie

ответ

0

попробовать, как это,

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
    [dateFormat setDateFormat:@"dd.MM.yyyy"]; 
    NSDate *today = [dateFormat dateFromString:@"12.12.2013"]; 
    NSDate *newDate = [dateFormat dateFromString:@"13.12.2013"]; 
    NSComparisonResult result; 
    result = [today compare:newDate]; // comparing two dates 
    if(result==NSOrderedAscending) // it checks like this LastDate > FirstDate 
     NSLog(@"correct"); 
    else 
     NSLog(@"error"); 
+0

@Mehmet Akyel: попробуй вот так, я дам тебе ожидаемый ответ. – Balu

+0

Спасибо за ваш ответ. Где я объявляю этот форматтер? – Mhmt

+0

@Mehmet Akyel: при сравнении дат в это время вы можете разместить этот код. – Balu

1

Используйте NSDateFormatter для этого. Вам нужно будет сообщить форматируемому ожидаемому типу строки, а затем выполнить преобразование.

Here is a snippet для расчета дней в месяце.

0

Почему пусть пользователь вводит дату в виде текста? Покажите UIDatePicker для ввода в этом поле. Когда пользователь выбирает дату, вы можете использовать NSDateFormatter, чтобы показать дату в том формате, который вы хотите. Это делает его гораздо менее подверженным ошибкам ввода данных.

+0

UIDatePicker большой для моего контроллера. – Mhmt