2016-09-26 44 views
-3

D.O.B.から年齢を計算したい私は下のコードから生年月日を取得しています。今、私はユーザーの年齢を計算したいと思うし、別のtextViewで年齢を表示したい。どうすればこれを達成できますか? (あなたはすぐツーなる標準のAPIを学習することがありますので、ジョダも新しい標準のJavaの日付/時刻のAPIの基礎である)、日付/時刻の計算を簡素化D.O.Bから年齢を計算するには?

dateFormatter = new SimpleDateFormat("dd-MMM-yyyy", Locale.US); 

public void setDateTimeField() { 
     date(); 

     Calendar newCalendar = Calendar.getInstance(); 
     fromDatePickerDialog = new DatePickerDialog(getActivity(), new DatePickerDialog.OnDateSetListener() { 

      public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 
       Calendar newDate = Calendar.getInstance(); 
       newDate.set(year, monthOfYear, dayOfMonth); 
       txtDatePicker.setText(dateFormatter.format(newDate.getTime())); 
      } 

     },newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH)); 

    } 

    public void date(){ 

     txtDatePicker.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       fromDatePickerDialog.show(); 
      } 
     }); 
    } 

答えて

1

チェックアウトJoda、。

Java 8にはsomething very similarがあり、チェックアウトする価値があります。

LocalDate birthdate = new LocalDate (1970, 1, 20); 
LocalDate now = new LocalDate(); 
Years age = Years.yearsBetween(birthdate, now); 

あなたが望むほど簡単です。 Javaの8と日付を使用するための

グレート例:Java 8 Date Examples

コーディングハッピー!

+0

Androidスタジオ提供エラー - 'LocalDate'シンボルを解決できません。 –

+0

joda libを追加しましたか? –

+0

ya今はうまく動作しますが、LocalDate birthdate = new LocalDate(1970、1、20)で動的に日付を設定する方法。このエラーが発生しました - java.lang.IllegalArgumentException:yyyy、dd、mm –

関連する問題