Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从年龄中寻找出生日期_Android_Iphone_Objective C - Fatal编程技术网

Android 从年龄中寻找出生日期

Android 从年龄中寻找出生日期,android,iphone,objective-c,Android,Iphone,Objective C,是否有任何公式可以直接从文本字段中的年、月、日查找D.O.B?? 在短时间内把21年6月16日放在返回计算D.O.B.的文本文件中 在iphone中,你没有直接的方法,无论你如何能自己写 步骤1:从年、月、日创建NSDate对象 NSDateComponents *comp = [[NSDateComponents alloc] init]; [comp setYear:year]; [comp setMonth:month]; [comp setDay:day]; NSDate *birth

是否有任何公式可以直接从文本字段中的年、月、日查找D.O.B??
在短时间内把21年6月16日放在返回计算D.O.B.的文本文件中

在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];
第二步:找出从今天开始的时间间隔

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];
…在Java中。。。 我喜欢使用日历进行此操作。在你的情况下,我建议你使用

因此,您应该使用当前日期创建一个新的日历实例,设置日期和月份,然后减去年龄。

试试这个

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));

试试这个,它更有用

只需输入两个日期就可以了

 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]);
以下代码可能对您有所帮助


快乐编码

您可以使用当前日期作为参考并计算它!你试过什么?你想在iPhone、Android和Java中都使用它吗?你可以将当前日期作为计算的参考it@ravi:首先,我认为第一步没有计算出正确的出生日期。其次,我认为你想要的是从年龄开始的出生日期,而不是从出生日期开始的日期。“我说得对吗?”帕特哈特。你说得对。我会马上更新答案。@parth ya我无法获得正确的D.O.B,但它接近出生日期,但任何一年的月份都必须返回true