найти дату рождения от возраста - PullRequest
2 голосов
/ 21 марта 2012

Есть ли какая-нибудь формула для прямого поиска DOB из положенного года, месяца и дня в TextField ??InShort положить 21 год 6 месяцев 16 дней в текстовом поле, которые возвращают расчетную DOB?

Ответы [ 4 ]

5 голосов
/ 21 марта 2012

В iphone у вас нет прямого метода, как вы можете писать самостоятельно.

шаг 1: Создайте объект NSDate из года, месяца, дня.

NSDateComponents *comp = [[NSDateComponents alloc] init];
[comp setYear:year];
[comp setMonth:month];
[comp setDay:day];
 NSDate *birthdate = [[NSCalendar currentCalendar] dateFromComponents:comp];
[comp release];

step2: Найти интервал с сегодняшнего дня.

NSTimeInterval dateDiff = [birthDate timeIntervalSinceNow];
int age=trunc(dateDiff/(60*60*24))/365;

РЕДАКТИРОВАТЬ ...

    NSDateComponents *comp = [[NSDateComponents alloc] init];
    [comp setYear:-year];
    [comp setMonth:-month];
    [comp setDay:-day];
     NSDate *birthdate = [[NSCalendar currentCalendar]dateByAddingComponents:comp toDate:[NSDate date] options:0];;
    [comp release];
2 голосов
/ 21 марта 2012

Попробуйте это.

Calendar c = Calendar.getInstance();
    System.out.println();
    c.add(Calendar.YEAR, -21);
    c.add(Calendar.MONTH, -6);
    c.add(Calendar.DAY_OF_MONTH, -16);
    System.out.println((c.get(Calendar.MONTH)+1)+"-"+ c.get(Calendar.DAY_OF_MONTH)+"-"+c.get(Calendar.YEAR));
2 голосов
/ 21 марта 2012

... на Яве ... Мне нравится использовать Календарь для этих операций. В вашем случае я рекомендую вам использовать метод add

Итак, вы должны создать новый экземпляр Calendar с текущей датой, установить день и месяц, а затем вычесть возраст.

1 голос
/ 21 марта 2012

Попробуйте это полезнее

Просто введите две даты, которые дают разницу.

 NSDateComponents *comp=[[NSCalendar currentCalendar] components:(NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit) fromDate:[NSDate date] toDate:self.objDate options:0] ;

 NSLog(@"%@",[NSString stringWithFormat:@"%d : %d : %d : %d : %d : %d",comp.year,comp.month,comp.day,comp.hour,comp.minute,comp.second]);

Вам может помочь следующий код.

Счастливое кодирование

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...