2012-07-12 11 views
6

可能性の重複:
Displaying the Time in AM/PM format in androidとにかく時間からam/pmを取得していますか?

私は時間を取得し、使用して文字列に変換することができます:

public static final String TIME_FORMAT = "h:mm a"; 
     SimpleDateFormat dateTimeFormat = new SimpleDateFormat(TIME_FORMAT); 

String getstring = dateTimeFormat.format(when.gettime(); 

が、どのように私はそれから午前/午後を得るのですかと私はそれが必要な文字列にそれを回すbeccause?

答えて

2

これは動作するはずです:

earlier questionに見つかり
private TimePickerDialog.OnTimeSetListener mTimeSetListener = 
new TimePickerDialog.OnTimeSetListener() 

{ 

public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 
TextView datehid = (TextView)findViewById(R.id.timehidden); 
if(hourOfDay>12) 
{ 

    datehid.setText(String.valueOf(hourOfDay-12)+ ":"+(String.valueOf(minute)+"pm")); 
} 
if(hourOfDay==12) 
{ 
    datehid.setText("12"+ ":"+(String.valueOf(minute)+"pm")); 
} 
if(hourOfDay<12) 
{ 
    datehid.setText(String.valueOf(hourOfDay)+ ":"+(String.valueOf(minute)+"am")); 
} 
} 
}; 

。あなたはDateオブジェクトを使用しているよう

+0

これは犯行ではありませんが、これはあまりにも忙しい方法で、過度のコードです。 – eRaisedToX

9

コードからこの

Calendar now = Calendar.getInstance(); 
int a = now.get(Calendar.AM_PM); 
if(a == Calendar.AM) 
    System.out.println("AM"+now.get(Calendar.HOUR)); 
+0

私のために働いています...ありがとう –

1

を試し、それが見えます。可能であれば、代わりにカレンダーオブジェクトを使用することをお勧めします。必要に応じて、カレンダーのgetTime()メソッドを使用して、CalendarオブジェクトからDateオブジェクトを取得できます。あなたはCalendarオブジェクトを持っている場合は、次の操作を行うことができます

Calendar cal = ...; 
String ampm = DateUtils.getAMPMString(cal.get(Calendar.AM_PM)); 

DateUtilsは、Androidフレームワークの一部であり、バックAPIレベルに3 getAMPMString()利用できるAM/PMのローカライズされたバージョンを返します。 Android開発者のサイトのdocsをご覧ください。

あなたはCalendarオブジェクトを用意していない場合は、日付オブジェクトから1を作成することができますに:

Date date = ...; 
Calendar cal = Calendar.getInstance(); 
cal.setTime(date); 

しかし、カレンダーの重い側にあることから、あなたは直接カレンダーオブジェクトを操作する方がいいでしょうそれらを作成して破棄するのではなく、

関連する問題