2012-03-21 24 views
2

D.O.Bを年、月、日をTextFieldに置くことを指示する式はありますか? InShortは、計算されたD.O.Bを返すテキストファイルに21年6月16日を入れます。見つけるDateOFBirth年齢から

+1

参考として現在の日付を使用して計算することができます。 – Rakesh

+4

あなたは何を試しましたか? http://mattgemmell.com/2008/12/08/what-have-you-tried/ –

+0

あなたは_iPhone_、_Android_、_Java_でそれらを3つすべて使いたいですか? –

答えて

5

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

ステップ2:今日からの間隔を見つけます。

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

EDIT ...

Javaでは
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]; 
+1

@ravi:第一に、Step-1は正しい誕生日を計算しないと思う。第二に、生年月日と誕生日の日付ではなく誕生日を欲しいと思う。私は正しい? –

+1

@ ParthBhatt。あなたは正しいです。私は答えを一瞬で更新します。 – Vignesh

+0

@parth ya正しいD.O.Bを得ることはできませんが、出生の日付に近づいていますが、いずれかの年が真を返す必要があります – ravi

2

... ... 私は、この操作にカレンダーを使用したいです。あなたの場合、私はあなたが使用することをお勧めしますadd method

したがって、現在の日付でカレンダーの新しいインスタンスを作成し、曜日と月を設定し、年齢を引く必要があります。

2

これを試してください。

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

これはそれが

より有用であるだけで、それは差を与える二つの日付を入力してください。

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

次のコードはあなたに役立つかもしれません。

ハッピーコーディング

関連する問題